Lập trình C Windows 10_Generic_App - Pdf 91

Nguyen Tri Tuan – Khoa CNTT – DHKHTN Tp.HCM 1/6
// ----------------------------------------------------------------------
// Chương trình demo: Application đơn giản trên Windows
// Sử dụng thư viện API của Windows
// GENERIC_APP.CPP
// Nguyen Tri Tuan - Khoa CNTT – ĐH.KHTN Tp.HCM
// ----------------------------------------------------------------------

#include "stdafx.h"
#include "resource.h"

#define MAX_LOADSTRING 100

// Các biến toàn cục
HINSTANCE hInst; // instance của application
TCHAR szTitle[MAX_LOADSTRING]; // Tiêu đề của cửa sổ
TCHAR szWindowClass[MAX_LOADSTRING]; // Tên lớp cửa sổ (window class name)

// Prototype của các hàm xử lý
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM);

// Hàm xử lý chính của application
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// Khởi tạo các biến chuỗi toàn cục

// ---------------------------------------------------------------------
// Hàm: MyRegisterClass()
// Đăng ký lớp cho cửa sổ chính (Frame window)
// ---------------------------------------------------------------------
ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEX wcex;
Nguyen Tri Tuan – Khoa CNTT – DHKHTN Tp.HCM 2/6

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_C);
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = (LPCSTR)IDC_C;
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL);

return RegisterClassEx(&wcex);
}

// ---------------------------------------------------------------------
// Hàm: InitInstance(HANDLE, int)
// Khởi tạo cửa sổ giao diện chính cho ứng dụng
// ---------------------------------------------------------------------


LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING);

switch (message)
{
case WM_COMMAND:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
// Kiểm tra xem user chọn menu item nào:
switch (wmId)
{
case IDM_ABOUT:
DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
break;
case IDM_EXIT:
Nguyen Tri Tuan – Khoa CNTT – DHKHTN Tp.HCM 3/6
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
break;

case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
// Cập nhật lại nội dung màn hình client
RECT rt;
GetClientRect(hWnd, &rt);
DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER);
EndPaint(hWnd, &ps);

break;
}
return FALSE;
}

Nguyen Tri Tuan – Khoa CNTT – DHKHTN Tp.HCM 4/6

// ----------------------------------------------------------------------
// File mô tả tài nguyên của ứng dụng (Resource of application)
// Generic_App.rc
// Nguyen Tri Tuan - Khoa CNTT – ĐH.KHTN Tp.HCM
// ----------------------------------------------------------------------

#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#undef APSTUDIO_HIDDEN_SYMBOLS
#include "resource.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources

// ----------------------------------------------------------------------
IDC_C ACCELERATORS MOVEABLE PURE
BEGIN
"?", IDM_ABOUT, ASCII, ALT
"/", IDM_ABOUT, ASCII, ALT
END

// ----------------------------------------------------------------------
// Mô tả các dialog
// ----------------------------------------------------------------------
IDD_ABOUTBOX DIALOG DISCARDABLE 22, 17, 178, 39
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "About"
Nguyen Tri Tuan – Khoa CNTT – DHKHTN Tp.HCM 5/6
FONT 8, "System"
BEGIN
ICON IDI_C,IDC_MYICON,14,9,20,20
LTEXT "Generic App. Version 1.0",IDC_STATIC,39,10,119,8,
SS_NOPREFIX
LTEXT "Copyright (C) 2004",IDC_STATIC,39,20,83,8
DEFPUSHBUTTON "OK",IDOK,138,25,30,11,WS_GROUP
END

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

2 TEXTINCLUDE DISCARDABLE


#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////

#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status