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

de thi mon c 2045

7 8 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề De Thi Mon C 2045
Trường học Vietnam National University, Hanoi
Chuyên ngành Programming
Thể loại Thi
Thành phố Hanoi
Định dạng
Số trang 7
Dung lượng 328,31 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Anh chị hãy trình bày phân tích tổng quát các đặc điểm chính của các ứng dụng trên MS Windows.. Anh chị hãy trình bày mô hình thể hiện quy trình nạp và zoom ảnh bitmap?. Giải thích mô

Trang 1

Đề thi mẫu số 1

Thời gian: 60 phút. Được phép sử dụng tài liệu.

Câu 1. Anh (chị) hãy trình bày (phân tích) tổng quát các đặc điểm chính của các ứng 

dụng trên MS Windows

Câu 2. Anh (chị) hãy trình bày mô hình thể hiện quy trình nạp và zoom ảnh bitmap? Giải 

thích mô hình (các hàm) thông qua cơ chế thao tác và thể hiện các đối tượng đồ  họa trên MS Windows

Câu 3. Anh (chị) hãy giải thích đoạn code dưới đây, bằng cách cho biết mục đích của 

chương trình là gì, thể hiện qua các hàm, biến được cài đặt như thế nào; quy  trình khi chương trình thực thi trong thực tế ra sao?

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM  lParam)

{

int wmId, wmEvent;

PAINTSTRUCT ps;

HDC hdc;

switch (message) 

{

case WM_COMMAND:

wmId    = LOWORD(wParam); 

wmEvent = HIWORD(wParam); 

switch (wmId) {

Trang 2

if(DialogBox(hInst, (LPCTSTR)IDD_GETTEXT, hWnd,  (DLGPROC)GetText)==IDOK)

InvalidateRect(hWnd, NULL, TRUE);

break;

case IDM_EXIT:

DestroyWindow(hWnd);

break;

default:

return DefWindowProc(hWnd, message, wParam, lParam); }

break;

case WM_PAINT:

hdc = BeginPaint(hWnd, &ps);

RECT rt;

GetClientRect(hWnd, &rt);

DrawText(hdc, szContent, strlen(szContent), &rt, uAlignment); EndPaint(hWnd, &ps);

break;

case WM_DESTROY:

PostQuitMessage(0);

break;

default:

Trang 3

}

return 0;

}

LRESULT CALLBACK GetText(HWND hDlg, UINT message, WPARAM wParam, LPARAM  lParam)

{

switch (message)

{

case WM_INITDIALOG:

uAlignment = 0; // uAlignment là một biến toàn cục kiểu UINT CheckDlgButton(hDlg, IDC_SINGLELINE, BST_CHECKED);

CheckRadioButton(hDlg, IDC_TOP, IDC_BOTTOM, IDC_VCENTER); CheckRadioButton(hDlg, IDC_LEFT, IDC_RIGHT, IDC_CENTER);

return TRUE;

case WM_COMMAND:

switch(LOWORD(wParam)) {

case IDC_SINGLELINE:

if(IsDlgButtonChecked(hDlg, IDC_SINGLELINE)==BST_CHECKED) {

CheckDlgButton(hDlg, IDC_SINGLELINE, BST_UNCHECKED);

Trang 4

EnableWindow(GetDlgItem(hDlg, IDC_VCENTER), FALSE);

EnableWindow(GetDlgItem(hDlg, IDC_BOTTOM), FALSE);

}

else

{

CheckDlgButton(hDlg, IDC_SINGLELINE, BST_CHECKED);

EnableWindow(GetDlgItem(hDlg, IDC_TOP), TRUE);

EnableWindow(GetDlgItem(hDlg, IDC_VCENTER), TRUE);

EnableWindow(GetDlgItem(hDlg, IDC_BOTTOM), TRUE);

}

break;

case IDC_TOP:

case IDC_VCENTER:

case IDC_BOTTOM:

CheckRadioButton(hDlg, IDC_TOP, IDC_BOTTOM, 

LOWORD(wParam));

break;

case IDC_LEFT:

case IDC_CENTER:

case IDC_RIGHT:

CheckRadioButton(hDlg, IDC_LEFT, IDC_RIGHT, LOWORD(wParam)); break;

Trang 5

if(IsWindowEnabled(GetDlgItem(hDlg, IDC_TOP)))

{

uAlignment |= DT_SINGLELINE;

if(IsDlgButtonChecked(hDlg, IDC_TOP))

uAlignment |= DT_TOP;

else if(IsDlgButtonChecked(hDlg, IDC_VCENTER))

uAlignment |= DT_VCENTER;

else if(IsDlgButtonChecked(hDlg, IDC_BOTTOM))

uAlignment |= DT_BOTTOM;

}

if(IsDlgButtonChecked(hDlg, IDC_LEFT))

uAlignment |= DT_LEFT;

else if(IsDlgButtonChecked(hDlg, IDC_CENTER))

uAlignment |= DT_CENTER;

else if(IsDlgButtonChecked(hDlg, IDC_RIGHT))

uAlignment |= DT_RIGHT;

GetDlgItemText(hDlg, IDC_CONTENT, szContent, 

MAX_LOADSTRING); // szContent là biến toàn cục kiểu TCHAR[]

case IDCANCEL:

EndDialog(hDlg, LOWORD(wParam));

return TRUE;

}

Trang 6

HPEN  CreatePen(int   nStyle,   int   nWidth,   COLORREF 

crColor);

HBRUSH CreateSolidBrush(COLORREF crSetColor); HGDIOBJ SelectObject(HDC hDC, HGDIOBJ hObj); BOOL DeleteObject(HGDIOBJ hObj);

BOOL  Rectangle(HDC   hDC,   int   nLeft,   int   nTop,   int 

nRight, int nBottom);

*   Lưu ý trình bày chính xác trong phạm vi câu hỏi; không lan   man   Câu   2   chỉ   viết   hàm   xử   lý   LRESULT   CALLBACK  WndProc(HWND, UINT, WPARAM, LPARAM) của cửa sổ   chính.

Ngày đăng: 03/12/2022, 21:38

w