|

Delphi
Xakep, номер #040, стр. 040-072-3
Исходники примера, как всегда, можно скачать с моего сайта www.cydsoft.com/vr-online после выхода этого номера в свет.
P.S. У меня к тебе просьба, на сто баксов :). Не пиши мне большие письма. После появления рубрики кодинг меня каждый день валят вопросами. Я не в состоянии всем рассказывать то, о чем пишут книги. Я могу что-то подсказать, где-то помочь, но не больше. А просьбы типа помоги написать прогу вообще нереальны. Я отвечаю только на те вопросы, где ответ займет несколько строчек. Целые лекции по мылу я разводить не могу. Я бы с удовольствием помог всем, но это НЕВОЗМОЖНО. Вас слишком много, а я один :(((. Поэтому лучше разбей свой вопрос на несколько маленьких и спрашивай постепенно, а не все сразу.
Листинг
uses
windows, messages, sysutils;
{$R *.RES}
var
Instance: HWnd;
WindowClass: TWndClass;
Handle: HWnd;
msg: TMsg;
//Процедура выхода из проги
procedure DoExit;
begin
Halt;
end;
//Функция обработки событий Windows
function WindowProc (Hwn,msg,wpr,lpr: longint): longint; stdcall;
begin
result:=defwindowproc(hwn,msg,wpr,lpr);
if msg=wm_destroy then
DoExit;
if msg=wm_KeyDown then
if wpr=VK_ESCAPE then
DoExit;
end;
//Отсюда начинается выполнение проги
begin
//Получаем описатель модуля
instance :=GetModuleHandle(nil);
//Заполняю структуру WindowClass
WindowClass.style:=CS_HRedraw or CS_VRedraw;
WindowClass.Lpfnwndproc:=@windowproc;
WindowClass.Hinstance:=Instance;
WindowClass.HbrBackground:= color_btnface;
WindowClass.LpszClassName:='DX';
WindowClass.Hcursor:=LoadCursor(0,IDC_ARROW);
//Регистрирую новый класс
RegisterClass (WindowClass);
//Создаю окно
Handle:=CreateWindowEx (0,'DX','',WS_POPUP, 1,1,
GetSystemMetrics (SM_CXSCREEN),
GetSystemMetrics (SM_CYSCREEN),0,0,instance, nil);
UpdateWindow (Handle);
//Здесь можно производить инициализацию.
//Цикл обработки сообщений
while (GetMessage(msg, 0, 0, 0)) do
begin
translatemessage(msg);
dispatchmessage (msg);
end;
end.
Назад на стр. 040-072-2 Содержание
|