Tài liệu Lập trình C trên Windows - Ví dụ và Bài tập pptx

27 478 0
Tài liệu Lập trình C trên Windows - Ví dụ và Bài tập pptx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 Lập trình C trên Windowsdụ Bài tập Nguyễn Đức Hoàng Hạ Khoa CNTT –Trường ĐHKHTN Email: ndhha@fit.hcmuns.edu.vn 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 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); [...]... giả xử lý cho c c sự kiện sau: • WM_CREATE , WM_DESTROY • WM_PAINT • WM_TIMER 20 dụ 3 Máy tính bỏ túi • Mô tả bài toán: – Nhấn c c nút bằng chuột để nhập – Cho phép nhấn phím số trên bàn phím • Yêu c u: – Thiết kế dữ liệu – Viết mã giả xử lý cho c c sự kiện: • WM_INITDIALOG • WM_COMMAND • WM_CHAR 21 dụ 3 case WM_COMMAND: switch(LOWORD(wParam)) { case ID_BTN1: //Xử lý nhấn nút 1 break; case ID_BTN2:... nút 2 break; } return 1; 22 Bài tập 3 • Thêm phím âm dương vào dụ 3 23 Debug • • • • • Chạy từng lệnh : F10 Chạy vào trong lệnh: F11 Đặt điểm dừng: F9 Chay chương trình ở chế độ debug: F5 Chạy chương trình không ở chế độ debug: Ctrl+F5 • Muốn debug ở sự kiện nào thì phải đặt điểm dừng ở sự kiện đó Không thể chạy từng lệnh (F10, F11) tới vị trí đó đư c 24 MSDN 25 26 MFC là gì? 27 ... Thiết kế dữ liệu – Viết mã giả xử lý cho c c sự kiện sau: • WM_CREATE, WM_DESTROY • WM_PAINT • WM_TIMER 16 dụ 2 • Dữ liệu: double h; //độ cao hiện tại double a = -5 ;//gia t c double v, //vận t c hiện tại double H=300; //độ cao tối đa int r=5; //bán kính int T = 50;//số nhịp dùng để đặt trong SetTimer • WM_PAINT x = 100; y = H+100-h; //đảo hệ tọa độ Ellipse(hdc,x-r,y-r, x+r,y+r); MoveToEx(hdc,0,H+100,NULL);... LineTo(hdc,300,H+100); 17 dụ 2 case WM_TIMER: t = T / 1000.0; h = a*t*t + v*t + h; v = a*t + v; if (h . CS_VREDRAW; wcex.lpfnWndProc = (WNDPROC)WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_BBBBB); wcex.hCursor. 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: ndhha@fit.hcmuns.edu.vn 2 WinMain •intWinMain(HINSTANCE

Ngày đăng: 25/01/2014, 15:20

Hình ảnh liên quan

– Khi có thay đổi thì vẽ lại ra màn hình - Tài liệu Lập trình C trên Windows - Ví dụ và Bài tập pptx

hi.

có thay đổi thì vẽ lại ra màn hình Xem tại trang 12 của tài liệu.
– Khi có thay đổi thì vẽ lại ra màn hình • Yêu cầu:  - Tài liệu Lập trình C trên Windows - Ví dụ và Bài tập pptx

hi.

có thay đổi thì vẽ lại ra màn hình • Yêu cầu: Xem tại trang 14 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan