다음은 현재 내 코드에 대한 스 니펫입니다. 이것은 절대 의미가 없습니다. 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;
}
돈 : 상위 범위에
hEditEW
를 넣어 그것을하지 않으면 정적 변수가 나쁘다. 'GetDlgItem (hWnd, IDC_EDITOR_BOX_EAST_WEST);을 사용하여'WM_COMMAND'에서'HWND' 컨트롤을 얻습니다. – manuell