Содержание материала

В этом выпуске мы попробуем написать с Вами программу, которая не будет пользоваться VCL, а будет использовать вызовы функций Windows API. Приложения такого типа нужны, когда размер исполняемого файла является критичным. Например, в инсталяторах, деинсталяторах, самораспаковывающихся архивах и т.п. В крайнем случае, для того чтобы посмотреть какую работу выполняет за нас VCL, и что из себя представляет Windows-программа. На самом деле все очень просто...

 

Для этого нам необходимо:

 

 

Code:

// 1. Зарегистрировать класс окна для окна главной формы.

 

function InitApplication: Boolean;

var

wcx: TWndClass;

begin

//Заполняем структуру TWndClass

   // перерисовываем, если размер изменяется

   wcx.style := CS_HREDRAW or CS_VREDRAW;

   // адрес оконной процедуры

   wcx.lpfnWndProc := @MainWndProc;

   wcx.cbClsExtra := 0;

   wcx.cbWndExtra := 0;

   // handle to instance

   wcx.hInstance := hInstance;

   // загружаем стандандартную иконку

   wcx.hIcon := LoadIcon(0, IDI_APPLICATION);

   // загружаем стандартный курсор

   wcx.hCursor := LoadCursor(0, IDC_ARROW);

   // делаем светло-cерый фон

   wcx.hbrBackground := COLOR_WINDOW;

   // пока нет главного меню

   wcx.lpszMenuName :=  nil;

   // имя класса окна

   wcx.lpszClassName := PChar(WinName);

 

   // Регистрируем наш класс окна.

   Result := RegisterClass(wcx) <> 0;

end;

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить