อย่าพึ่งแปลกใจนะครับทำไม่ต้องสอนกันทำอะไรที่ถอยหลังเข้าคลองด้วย จริงๆอยากจะให้ลองเปลี่ยนจากการใช้ MFC แบบเดิมที่คลิ๊กไม่กี่ครั้งก็เสร็จ มาเป้นแบบ manual เขียนเองบ้าง
ถ้ามีเวลาว่างจะมาอธิบายนะครับ
[src]
#include <windows.h>
LRESULT CALLBACK WndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam){
return DefWindowProc(hWnd, msg, wParam, lParam);
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
LPSTR lpCmdLine,int nCMdShow){
WNDCLASSEX wc;
MSG msg;
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName = NULL;
wc.lpszClassName = "test";
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
RegisterClassEx(&wc);
HWND hWnd=CreateWindowEx(wc.style,"test","test",wc.style,
10,10,200,200,NULL,NULL,hInstance,NULL);
if(hWnd == NULL)
{
MessageBox(NULL, "Window Creation Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
ShowWindow(hWnd,nCMdShow);
UpdateWindow(hWnd);
while(GetMessage(&msg, NULL, 0, 0) > 0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
[/src]
จากที่เขียนกันมานาน เราก็ได้ Window อย่างมักง่าย เอ้ย อย่างง่าย (สมชื่อจริงๆ)
![]()