Chào mọi người, em xin phép vào đề luôn :
Em tạo một Project VC++ 2010 WIN32 PROJECT .
Em tạo một cái giao diện đơn giản vẽ thủ công bằng Dialog.rc như này
Mã:
IDD_FORMVIEW DIALOGEX 0, 0, 185, 93
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg", 400, 0, 0x0
BEGIN
PUSHBUTTON "Button1",IDC_BUTTON1,60,30,50,14
END
File Main.cpp
Mã:
#include <Windows.h>
#include "resource.h"
LRESULT CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
INT WINAPI wWinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in LPWSTR lpCmdLine, __in int nShowCmd )
{
DialogBox(hInstance, MAKEINTRESOURCE(IDD_FORMVIEW), NULL, (DLGPROC)DlgProc);
return 0;
}
LRESULT CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_SYSCOMMAND:
if (wParam == SC_CLOSE)
{
EndDialog(hWnd, NULL);
PostQuitMessage(WM_QUIT);
}
break;
case WM_COMMAND:
if (wParam == IDC_BUTTON1) { MessageBox(hWnd, NULL, NULL, NULL); break; }
default:
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
return 0;
}
Vấn đề :
Sau khi em click vào cái Close hoặc ALT + F4 => OK Thoát
Nhưng lúc click vào button thì nó vẫn hiện cái MessageBox kia nhưng nó bị treo ở cái box đó, click ok + x để đóng cái MsgBox lại nhưng không được
Sau khi em xóa cái return DefWindowProc(hWnd, uMsg, wParam, lParam) và thay bằng return 0 thì lại OK .
Xin mọi người giải thích cho em với ạ !
View more random threads:
Pallet nhựa Long An đã trở thành một trong những lựa chọn phổ biến cho nhu cầu vận chuyển và lưu trữ hàng hóa trong nhiều ngành công nghiệp. Với đặc tính nhẹ nhàng, chắc chắn và dễ vận chuyển, các...
Thanh lý pallet nhựa Long An giá rẻ