char s[120]-"He освободил в памяти ";

char R[10];
itoa(Dd.R.lO);
strcat(s.R);

strcat(s." байт");

MessageBox(NULL.s. "ClearMem". MBJYSTEMMODAL ) ; }
}
void PrelnitWnd(void) {
GetMemStateO; }
void Finish(HWND hWnd) {
CheckMemC): }
int PostlnitWndCHWND hWnd) { return 0: }

В модуле WndProc.cpp находится оконная процедура, код которой приведен в листинге 10.3.

Листинг 10.3

#include <windows.h> #include "Maiп.h"

LRESULT API ENTRY InputWndProc (HWND hWnd.UINT message.
WPARAM wParam.LPARAM IParam)
{
switch (message) {
case WMJDESTROY: PostQuitMessage(O); break;

Скелетный проект

case WM_CREATE: OnCreate(hWnd. message. wParam. lParam); break: case WM_SIZE: OnSize(hWnd. message. wParam, lParam); break: case WM_COMMAND: OnMenuChWnd. message. wParam. lParam); break; case WM_PAINT: OnPaintChWnd. message. wParam. lParam): return 0; case WMJ1MER: OnTimerChWnd. message. wParam. lParam); return 0: case WM_LBUTT0ND0WN: OnLButtonChWnd. message. wParam. lParam); return 0; case WM_RBUTTONDOWN: OnRButton(hWnd, message. wParam. lParam); return 0; }
return DefWi ndowProc(hWnd.message.wParam.1Param); }

Эта оконная процедура проверяет самые важные сообщения и в зависимости от полученного сообщения запускает те или иные функции, каждая из которых вынесена в отдельный файл. Эти функции обычно содержат минимум кода. Так, обработка сообщения WM_COMMAND в модуле OnMenu.cpp заключается только в вызове диалогового окна при выборе пункта меню 0 программе, как показано в листинге 10.4.

Листинг 10.4

#iпсlüde <windows.h> #include "resource.h" #include "main.h" finclude "../UTILS/utils.h"

//Строка s разделена на подстроки, знаками \п или \t

//Каждая подстрока выводится на экран с новой строки

char s[] - "А. ЕВЧЕНК0. \п ЛЕКЦИИ ПО КОМПЬЮТЕРНОЙ^ ГРАФИКЕ":

void 0nMenu(HWND hWnd.UINT message.WPARAM wParam.LPARAM lParam)
{
switch(L0W0RD(wParam)) {
case PUNCT1: break; case PUNCT2: break; case ABOUT:

TIMESTRING(hWnd.3000.s);//0кнo-влaдeлeц. интервал, строка текста


⇐ Предыдущая| |Следующая ⇒