这是我目前代码的片段.这绝对没有意义.它表示CASE COMMAND下的hEditEW未定义在上面明确定义的位置.这可能是一个非常简单的修复,但我有一点时间解决它.
case WM_CREATE:
{
HWND hWndButton = CreateWindowEx(NULL, "Button", "Click to Convert", WS_TABSTOP|WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
200, 370, 150, 50, hWnd, (HMENU)IDC_BUTTON_ONE, NULL, NULL);
HWND hEditEW = CreateWindowEx(WS_EX_CLIENTEDGE, "Edit", "", WS_CHILD|ES_MULTILINE| WS_VISIBLE |
ES_AUTOHSCROLL | ES_AUTOVSCROLL, 25, 50, 220, 300, hWnd, (HMENU)IDC_EDITOR_BOX_EAST_WEST, NULL, NULL);
HWND hEditNS = CreateWindowEx(WS_EX_CLIENTEDGE, "Edit", "", WS_CHILD | ES_MULTILINE | WS_VISIBLE |
ES_AUTOHSCROLL | ES_AUTOVSCROLL, 300, 50, 220, 300, hWnd, (HMENU)IDC_EDITOR_BOX_EAST_WEST, NULL, NULL);
}
break;
case WM_COMMAND:
{
switch (LOWORD(wParam))
{
case IDC_BUTTON_ONE:
{
LPWSTR buffer[256];
SendMessage(hEditEW,
WM_GETTEXT,
sizeof(buffer) / sizeof(buffer[0]),
reinterpret_cast<LPARAM>(buffer));
HANDLE hFile = CreateFile("C:\\test.txt", GENERIC_READ,
0, NULL, CREATE_NEW, FILE_FLAG_OVERLAPPED, NULL);
}
break;
}
break;
}
Run Code Online (Sandbox Code Playgroud)
您在之后的范围中定义它case WM_CREATE并尝试在范围之后使用它case WM_COMMAND.这不会起作用 - 不同的范围.
你甚至不需要开关来演示这个问题:
{
HWND hEditEW = CreateWindowEx(WS_EX_CLIENTEDGE, "Edit", "", WS_CHILD|ES_MULTILINE| WS_VISIBLE |
ES_AUTOHSCROLL | ES_AUTOVSCROLL, 25, 50, 220, 300, hWnd, (HMENU)IDC_EDITOR_BOX_EAST_WEST, NULL, NULL);
} //in scope up to here
{
SendMessage(hEditEW,
WM_GETTEXT,
sizeof(buffer) / sizeof(buffer[0]),
reinterpret_cast<LPARAM>(buffer));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
171 次 |
| 最近记录: |