ALTE DOCUMENTE
|
|||||
WM PAINT
Ваша програ 24324u2011y 84;ма имеет возможность вызвать генерацию и посылку самой себе сообщения WM PAINT Windows является многозадачной системой, которая может выполнять одновременно с Вашей и другие програ 24324u2011y 84;мы, тоже требующие времени процессора, програ 24324u2011y 84;ма должна просто сообщить Windows Windows Windows лучше управлять системой и эффективнее распределять время центрального процессора для всех задач, работающих в системе. При таком подходе програ 24324u2011y 84;ма просто задерживает операцию вывода до прихода сообщения WM PAINT
WM PAINT только при изменении размеров или «всплывании» окна. Однако если для осуществления любого вывода програ 24324u2011y 84;ма должна ожидать прихода WM PAINT, то для достижения нормального интерактивного взаимодействия пользователя с програ 24324u2011y 84;мой должен быть предусмотрен способ сообщить Windows, что Вашей програ 24324u2011y 84;ме нужно послать WM PAINT Windows действительно позволяет это делать. Таким образом, если програ 24324u2011y 84;ма готова в выводу на экран, она запрашивает сообщение WM PAINT Windows
Windows WM PAINT, програ 24324u2011y 84;ма должна вызвать функцию API InvalidateRect()
BOOL InvalidateRect(HWND hwnd,
CONST RECT *lpRect,
BOOL fErase
hwnd WM PAINT lpRect RECT lpRect NULL fErase fErase
InvalidateRect Windows Windows должна послать програ 24324u2011y 84;ме сообщение WM PAINT
WM PAINT InvalidateRect
// Каркасная програ 24324u2011y 84;ма для Windows
WM PAINT
#include <Windows.h>
#include <String.h>
#include <Stdio.h>
LRESULT CALLBACK WindowFunc(HWND, UINT,
WPARAM, LPARAM);
char szWinName[]=" "; //
char str[80]="Пример"; // Буфер для строки вывода
int X Y // Координаты строки на экране
int WINAPI WinMain(HINSTANCE hThisInst,
HINSTANCE hPrevInst,
LPSTR lpszArgs,
int nWinMode)
return msg.wParam;
}
// системой Windows и получает в качестве
LRESULT CALLBACK WindowFunc(HWND hwnd,
UINT message,
WPARAM wParam,
LPARAM lParam)
return 0;
}
Заметьте, что в новой програ 24324u2011y 84;ме добавлены две глобальные переменные X Y WM PAINT
WM PAINT, програ 24324u2011y 84;ма стала несколько меньше и в некотором смысле проще для понимания. Кроме того, как упоминалось в начале этого раздела, такая програ 24324u2011y 84;ма позволяет Windows
Windows WM PAINT. Тем не менее програ 24324u2011y 84;мы вывода информации, основанные на обработке других сообщений, не являются неверными. Просто такие подходы могут в некоторых случаях оказаться далеко не лучшими.
|