Tải bản đầy đủ (.pdf) (27 trang)

Lập trình C trên Windows Ví dụ và Bài tập

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (619.94 KB, 27 trang )

1
Lập trình C trên Windows
Ví dụ và Bài tập
Nguyễn Đức Hoàng Hạ
Khoa CNTT –Trường ĐHKHTN
Email:
2
WinMain
•intWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{
//1. hInstanceàĐăng ký loại cửa sổ mới
//2. Tạo một cửa sổàhWnd
//3. Thực hiện vòng lập nhận và gửi xử lý thông điệp
return 0;
}
3
RegisterClassEx
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_BBBBB);
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName= (LPCSTR)IDC_BBBBB;


wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(hInstance,(LPCTSTR)IDI_SMALL);
RegisterClassEx(&wcex);
4
CreateWindow
• hWnd = CreateWindow(szWindowClass, szTitle,
WS_OVERLAPPEDWINDOW,
100, 200, //trái -trên
500, 300, //rộng -cao
NULL, // cửa sổ cha
NULL, // menu
hInstance,
NULL );
• WS_OVERLAPPEDWINDOW = WS_OVERLAPPED |
WS_CAPTION | WS_SYSMENU | WS_THICKFRAME |
WS_MINIMIZEBOX | WS_MAXIMIZEBOX
5
DialogBox
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
DialogBox(hInstance,
LPCTSTR(IDD_DIALOG1),
NULL,
DLGPROC(dlgProc) );
return 0;
}
6

Resource
7
Resource
8
Resource
9
Resource
10
WndProc-DlgProc
•LRESULT CALLBACK WndProc(
HWND hWnd,
UINT message,
WPARAM wParam,
LPARAM lParam);
•INT_PTR CALLBACK dlgProc(
HWND hwndDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);

×