Форум: "Основная";
Текущий архив: 2004.06.13;
Скачать: [xml.tar.bz2];
ВнизМаксимальное раскрытие и восстановление окна Найти похожие ветки
← →
Eugene (2004-05-29 09:52) [0]Здравствуйте мастера!
Есть рабочий код:
procedure TMainForm.WMSysCommand;
begin
if Msg.CmdType=SC_MAXIMIZE then begin
inherited;
ResizeColumns(true);end
else if Msg.CmdType=SC_RESTORE then begin
inherited;
ResizeColumns(false);end
else
inherited;
end;
Но он, к сожалению работает, если только нажимать на системное меню, а если нажать два раза на заголовок окна, то процедура ResizeColumns() не выполняется.
Подскажите пожалуйста какое сообщение нужно перехватывать или как вообще это можно организовать.
Заранее благодарен.
← →
Алексей Васильев © (2004-05-29 10:32) [1]Я это решил с помощью перехвата Message.CmdType с номерами
61458, 61490 при максимизации на заголовке и 61730 при обратном действии.
← →
Eugene © (2004-05-29 11:14) [2]Спасибо тебе Алексей за ответ!
Но я тут еще немного покопался и обнаружил еще один выход.
Перехватывать сообщение WM_SIZE. Вот что из этого получилось:
procedure TMainForm.WindowSize;
begin
if Msg.SizeType=SIZE_MAXIMIZED then begin
inherited;
ResizeColumns(true);end
else if Msg.SizeType=SIZE_RESTORED then begin
inherited;
ResizeColumns(false);end
else
inherited;
end;
Все заработало.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.06.13;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.031 c