エディット コントロールのあるダイアログ ボックスを開く単純な win32 アプリケーションを作成しました。何時間も検索した後、この編集コントロールからユーザー入力を取得して文字列に格納する方法が見つかりませんでした。ここのコードは私が望んでいることをしていると思います(テストしていません)が、私はそれを理解していません。したがって、説明または他の解決策があればいいでしょう。(私はVC++ 2012を使用しています)
IS C ++であることがわかった他の解決策:S
わかりました、別のメッセージ ループを作成し、そこにコードを挿入しました。これは次のようになります。
INT_PTR CALLBACK IP(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(lParam);
switch (message)
{
case WM_INITDIALOG:
return (INT_PTR)TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam));
return (INT_PTR)TRUE;
}
else if(LOWORD(wParam) == IDOK)
{
TCHAR szBuf[40];
GetDlgItemText(hDlg, IDC_EDIT1, szBuf, 39);
//Breakpoint here!
//szBuf="127.0.0.1" as intended :)
EndDialog(hDlg, LOWORD(wParam));
return (INT_PTR)TRUE;
}
break;
}
return (INT_PTR)FALSE;
}