1. Trang chủ
  2. » Công Nghệ Thông Tin

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

27 479 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 619,94 KB

Nội dung

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 (Trang 12)
– 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: (Trang 14)

TỪ KHÓA LIÊN QUAN