我创建了一个简单的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;
}
Run Code Online (Sandbox Code Playgroud)
尝试使用
UINT WINAPI GetDlgItemText(
_In_ HWND hDlg,
_In_ int nIDDlgItem,
_Out_ LPTSTR lpString,
_In_ int nMaxCount
);
Run Code Online (Sandbox Code Playgroud)
像这样:
TCHAR szBuf[BUFF_LEN];
GetDlgItemText(hWnd, TXT_MYEDIT_ID, szBuf, BUFF_LEN - 1);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1456 次 |
最近记录: |