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

Lập trình C Windows 10_Generic_App

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Lập trình C Windows 10_Generic_App
Tác giả Nguyen Tri Tuan
Trường học Đại học Khoa học Tự nhiên - Đại học Quốc gia TP.HCM
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án tốt nghiệp
Thành phố TP.HCM
Định dạng
Số trang 6
Dung lượng 38,19 KB

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

Nội dung

Lập trình C Windows

Trang 1

// -

// 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

TCHAR szWindowClass[MAX_LOADSTRING]; // Tên lớp cửa sổ (window class name) // Prototype của các hàm xử lý

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

LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);

LoadString(hInstance, IDC_C, szWindowClass, MAX_LOADSTRING);

// Đăng ký lớp cửa sổ cho ứng dụng

MyRegisterClass(hInstance);

// Kh ởi tạo ứng dụng

if (!InitInstance (hInstance, nCmdShow))

{

return FALSE;

}

// Kh ởi tạo bảng phím tắt (cho các menu item)

hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_C);

// Vòng l ặp tiếp nhận và xử lý thông điệp

while (GetMessage(&msg, NULL, 0, 0))

{

if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) {

TranslateMessage(&msg);

DispatchMessage(&msg);

} }

return msg.wParam;

}

// -

// Hàm: MyRegisterClass()

// Đăng ký lớp cho cửa sổ chính (Frame window)

// -

ATOM MyRegisterClass(HINSTANCE hInstance)

{

WNDCLASSEX wcex;

Trang 2

wcex.cbSize = sizeof(WNDCLASSEX);

wcex.lpfnWndProc = (WNDPROC)WndProc;

wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);

wcex.lpszMenuName = (LPCSTR)IDC_C;

wcex.lpszClassName = szWindowClass;

return RegisterClassEx(&wcex);

}

// -

// Hàm: InitInstance(HANDLE, int)

// Kh ởi tạo cửa sổ giao diện chính cho ứng dụng

// -

BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)

{

HWND hWnd;

hInst = hInstance; // Store instance handle in our global variable

hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);

if (!hWnd)

{

return FALSE;

}

ShowWindow(hWnd, nCmdShow);

UpdateWindow(hWnd);

return TRUE;

}

// -

// Hàm: WndProc(HWND, unsigned, WORD, LONG)

// Hàm nh ận và xử lý thông điệp cho cửa sổ giao diện chính

// -

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

{

PAINTSTRUCT ps;

TCHAR szHello[MAX_LOADSTRING];

LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING);

switch (message)

{

case WM_COMMAND:

Trang 3

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;

case WM_DESTROY:

// Kết thúc ứng dụng

PostQuitMessage(0);

break;

default:

// G ọi xử lý thông điệp mặc định

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

}

return 0;

}

// -

// Hàm: About(HWND, UINT, WPARAM, LPARAM)

// X ử lý thông điệp cho cửa sổ hộp thoại About

// -

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

switch (message)

{

case WM_INITDIALOG:

return TRUE;

case WM_COMMAND:

if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) {

EndDialog(hDlg, LOWORD(wParam));

return TRUE;

} break;

}

return FALSE;

}

Trang 4

// -

// 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

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)

#ifdef _WIN32

LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US

#pragma code_page(1252)

#endif //_WIN32

// -

// Mô t ả các icon

// -

IDI_C ICON DISCARDABLE "c.ICO"

IDI_SMALL ICON DISCARDABLE "SMALL.ICO"

// -

// Mô t ả các menu

// -

IDC_C MENU DISCARDABLE

BEGIN

POPUP "&File"

BEGIN

MENUITEM "E&xit", IDM_EXIT

END

POPUP "&Help"

BEGIN

MENUITEM "&About ", IDM_ABOUT

END

END

// -

// Mô t ả các phím tắt (Accelerator)

// -

IDC_C ACCELERATORS MOVEABLE PURE

BEGIN

"?", IDM_ABOUT, ASCII, ALT

Trang 5

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

BEGIN

"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"

"#include ""windows.h""\r\n"

"#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"

"#include ""resource.h""\r\n"

"\0"

END

3 TEXTINCLUDE DISCARDABLE

BEGIN

"\r\n"

"\0"

END

1 TEXTINCLUDE DISCARDABLE

BEGIN

"resource.h\0"

END

#endif // APSTUDIO_INVOKED

// -

// Mô t ả các chuỗi (String table)

// -

STRINGTABLE DISCARDABLE

BEGIN

IDS_APP_TITLE "Generic Application - API"

IDS_HELLO "Hello World!"

IDC_C "About Generic Application"

END

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

/////////////////////////////////////////////////////////////////////////////

#ifndef APSTUDIO_INVOKED

///////////////////////////////////////////////////////////////////////////// //

// Generated from the TEXTINCLUDE 3 resource

//

/////////////////////////////////////////////////////////////////////////////

#endif // not APSTUDIO_INVOKED

Trang 6

// -

// File header mô t ả các hằng số của chương trình

// Generic_App.h

// S ử dụng cho: Generic_App.cpp, Generic_App.rc

// Nguyen Tri Tuan - Khoa CNTT – ĐH.KHTN Tp.HCM

// -

// Used by C.RC

//

#define IDI_C 107

#define IDC_C 109

#define IDC_STATIC -1

// Next default values for new objects

//

#ifdef APSTUDIO_INVOKED

#ifndef APSTUDIO_READONLY_SYMBOLS

#define _APS_NEXT_RESOURCE_VALUE 129

#define _APS_NEXT_COMMAND_VALUE 32771

#define _APS_NEXT_CONTROL_VALUE 1000

#define _APS_NEXT_SYMED_VALUE 110

#endif

#endif

Ngày đăng: 14/11/2012, 17:00

HÌNH ẢNH LIÊN QUAN

// Khởi tạo bảng phím tắt (cho các menu item) - Lập trình C  Windows 10_Generic_App
h ởi tạo bảng phím tắt (cho các menu item) (Trang 1)
// Cập nhật lại nội dung màn hình client - Lập trình C  Windows 10_Generic_App
p nhật lại nội dung màn hình client (Trang 3)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN