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

LẬP TRÌNH WINDOWS ví dụ và bài tập

27 560 1
Tài liệu đã được kiểm tra trùng lặp

Đ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

Lập trình C trên Windows Ví dụ và Bài tập (T4) Graphics Device Interface (GDI) HDC WM_PAINT • HDC BeginPaint( HWND hwnd, // input LPPAINTSTRUCT lpPaint // output ); • BOOL EndPaint( HWND hWnd, PAINTSTRUCT *lpPaint ); Không phải trong WM_PAINT • HDC GetDC( HWND hWnd); • int ReleaseDC( HWND hWnd, HDC hDC // handle to DC ); Chọn các đối tượng vẽ vào trong DC • HGDIOBJ SelectObject( HDC hdc, HGDIOBJ hgdiobj); 3 HPEN • HPEN CreatePen( int fnPenStyle, int nWidth, COLORREF crColor); • BOOL DeleteObject( HGDIOBJ hObject); • Ví dụ: hdc = BeginPaint(hWnd, &ps); hPen = CreatePen(PS_SOLID,2,0); hOld = SelectObject(hdc,hPen); MoveToEx(hdc,100,200,NULL); LineTo(hdc,200,100); SelectObject(hdc,hOld); DeleteObject(hPen); EndPaint(hWnd, &ps); 4 HBRUSH • CreateBrushIndirect: Creates a brush with a specified style, color, and pattern •

1 Lập trình C trên Windows dụ 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); . 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. SetTimer được đặt trong sự kiện WM_CREATE và KillTimer đặt trong sự kiện WM_DESTROY 16 Ví dụ 2 Mô phỏng banh rơi •Mô tả bài toán: –Một quả banh rơi tự do từ

Ngày đăng: 21/08/2013, 10:30

HÌNH ẢNH LIÊN QUAN

– Khi có thay đổi thì vẽ lại ra màn hình - LẬP TRÌNH WINDOWS   ví dụ và bài tập
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:  - LẬP TRÌNH WINDOWS   ví dụ và bài tập
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

w