*-- To Tell The Truth --*
Cruz
MAIL
HOME
|
|
2002年03月27日(水) ■ |
|
通勤の車窓から |
|
本日は雨
飛鳥山が見えたりするんだけど、なんだか青々としてきちゃったなー。
ダンナの会社では、毎年花見がある。 場所取り等を新入社員にやらせるため、4月に入ってからなんだけど・・・。 今年は、4月に入ってからだと、桜の花見にはならないだろうな。 それでも花見要員確保のため、4月に入ってからだそうな。
プログラム機能追加作業は、思いのほか進みました。
我ながら
ものすごい集中力
で・・・。 やればできるじゃん。←自分
あとはテストとドキュメント修正と・・・・。 マニュアル修正、引継ぎ作業
まだ、いっぱいやること残っているんだな。はぁ。
今日のプログラム作成で、今さらわかったお間抜けなこと。
GetSaveFileName関数を使って、コモンコントロールの『ファイル保存』を使用しているのだが、何をどーした勘違いをしていたのか、ずっと【保存】ボタンのアクションを自分で指定するにはどーすればいいか悩んでいた。
悩む必要はないもの。
BOOL WriteSelectFile(HWND hWnd) { OPENFILENAME ofn;
memset(&ofn, 0, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME); ofn.hwndOwner = hWnd; ofn.lpstrFilter = "txt files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0"; ofn.lpstrFile = cpFileName; ofn.nMaxFile = MAX_PATH; ofn.Flags = OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY; ofn.nMaxFileTitle = 64; ofn.lpstrFileTitle = cpFileTitle; ofn.lpstrTitle = "ファイル 保存";
return (GetSaveFileName(&ofn)); }
|
こんな関数を作る。
case WM_COMMAND: switch(LOWORD(wParam)){ case IDOK: // ファイル作成 // ファイル名選択 if(WriteSelectFile(hDlgWnd) != TRUE){ MessageBox(hDlgWnd, "出力ファイル名を入力してください。", "ファイル作成エラー", MB_OK | MB_ICONEXCLAMATION); }else{ // ファイル出力処理 if(WriteData(hDlgWnd, cpFileName) == TRUE){ char cpMsg[CHAR_MAX];
sprintf(cpMsg, "ファイル\n【%s】\nを作成しました。", cpFileName); MessageBox(hDlgWnd, cpMsg, "ファイル保存 Success", MB_OK);
// ダイアログ終了 EndDialog(hDlgWnd, FALSE); } } return TRUE;
|
こんな風に使う。 そうすれば、コモンコントロールの『ファイル保存』で【保存】ボタンを押したら、実際にファイル出力処理を行うことができる。
【保存】ボタンに、処理を貼り付けている訳ではない。
今日のところはこんな感じで・・・。
|
|