Мой DELPHI – Программирование

Всё для программера

Как перехватить события в неклиентской области формы, в заголовке окна, например?

Вопрос:
Как перехватить события в неклиентской области формы, в заголовке окна, например?
Ответ:
Создайте обработчик одного из сообщений WM_NC (non client - не клиентских) (посмотрите
WM_NC в Windows API help). Пример показывает как перехватить вижение мыши во всей
неклиенстской области окна (рамка и заголовок). Прочитать остальную часть записи »

Как изменить оконную процедуру для TForm?

Вопрос:
Как изменить оконную процедуру для TForm?

Ответ:

Переопределите в подклассе
TForm оконную процедуру WinProc класса. В примере оконная процедура переопределяется
для того чтобы реагировать на сообщение WM_CANCELMODE, показывающее, что выполняется
messagebox или какой-либо еще диалог. Прочитать остальную часть записи »

Как узнать о нажатии “non-menu” клавиши в момент когда меню показано?

Вопрос:
Как узнать о нажатии "non-menu" клавиши в момент когда меню показано?
Ответ:
Создайте обработчик сообщения WM_MENUCHAR. Прочитать остальную часть записи »

Как установить минимальные размеры формы?

Как установить минимальные размеры формы?

Если свойство BorderStyle установленно в значение bsSizeable, то размер
формы можно уменьшать или увеличивать. Иногда, чтобы показывать все необходимые
элементы на форме, необходимо установить минимальные размеры формы? Следующая
процедура позволяет ограничить размеры формы.

type
  TForm1 = class(TForm)
    procedure wmGetMinMaxInfo(var Msg : TMessage); message wm_GetMinMaxInfo;

procedure TForm1.wmGetMinMaxInfo(var Msg : TMessage); 

begin
  PMinMaxInfo(Msg.lParam)^.ptMinTrackSize.X := 600;
  PMinMaxInfo(Msg.lParam)^.ptMinTrackSize.Y := 350;
end;