Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.13;
Скачать: CL | DM;

Вниз

Максимальное раскрытие и восстановление окна   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
14-1085642709
YurikGl
2004-05-27 11:25
2004.06.13
Опять форум тормозит... :(


4-1083753623
faith
2004-05-05 14:40
2004.06.13
Не работает перехват сообщения


1-1086044926
Dark Man
2004-06-01 03:08
2004.06.13
работа с dll вызов процедур программы из dll


1-1086162497
DmitryMN
2004-06-02 11:48
2004.06.13
Контротлная сумма


3-1085328601
pashaz
2004-05-23 20:10
2004.06.13
Траблы с ADOQuery, помогите плиз