ダイアログボックスによる入力値の呼び出し

[戻る]
みつお 2008/02/06(水) 11:38:23
開発環境WinXP(SP2)、Win32でプログラムを作成しています。。

リソースエディタで作成したダイアログをメニューバーから
プルダウンして表示させ、入力できるようになったのですが、
それを同一ファイル内の別の関数で呼び出して使いたいのですが、
呼び出し方がわかりません。
参考にした資料は、入力した文字列を表示するだけだったので、
呼び出す必要がなく、参考にならず、困っています。

//閾値設定用メッセージハンドラ
LRESULT CALLBACK dialog1(HWND hDlg, UINT message, WPARAM wParam, LPARAM IParam)
{
       char str[100];

       switch( message )
       {
       case WM_INITDIALOG:
            SetDlgItemText(hDlg, IDC_EDIT1,"");
            return TRUE;
       case WM_COMMAND:
            switch(LOWORD(wParam))
            {
            case IDOK:
                GetDlgItemText(hDlg,IDC_EDIT1, str, 100);
               if(str[0]!='\0'){
                MessageBox(hDlg,"閾値設定しました" , "閾値設定", MB_OK);
               }
               else{
                    MessageBox(hDlg,"閾値が入力されていません" , "エラー", 
MB_OK|MB_ICONERROR);
                }
            case IDCANCEL:
                EndDialog(hDlg, LOWORD(wParam));
                return TRUE;
            }
            break;
            case WM_CLOSE:
            EndDialog(hDlg, 0);
            return TRUE;
       }
       return FALSE;
}

上の関数のstrを呼び出したいのですが、
visual C++ 6.0初心者で、初歩的な質問ですが
ご教授お願いします。

maru 2008/02/06(水) 12:03:50
一番簡単な方法:char str[100];をグローバル変数にする。
実際のコード:
char str[100];
LRESULT CALLBACK dialog1(HWND hDlg, UINT message, WPARAM wParam, LPARAM IParam)
{
// 省略
}

古いスレッドには追加発言できません。