Размер окна я могу изменять:
1. Мышью
2. Изменяя свойства размеров прям в коде.
Мне нужно узнать как именно я изменил размер, если в обоих вариантах вызывается WMSIZE.
Может кто сталкивался или у кого какие идеи есть? Буду благодарен.
Уже нашел решение, но все равно спасибо)
С флагами пробовал, в принципе работает, но в некоторых ситуациях выходит не то что нужно. Делается проще.
В компоненте пишем обработчик сообщения WM_SIZING. Сообщение отсылается только при действиях пользователя.
procedure THiddenClassName.WmSizing(var Message: TMessage);
var
Rect: PRect;
begin
inherited;
Rect := PRect(Message.LParam);
FMaxHeight := Rect^.Height;
end;
Здесь WParam - Сторона, которую в данный момент изменяют. LParam - указатель на Rect
Сообщение отсылается только при действиях пользователя.
Нельзя так говорить. Сообщения WM_SIZING прилетают в процессе изменения размера, а WM_SIZE - когда процесс изменения уже закончился. Вот и всё их различие. Т.е. можно точно также программно посылать WM_SIZING и эмулировать процесс изменения размера, по аналогии, как вы посылаете WM_SIZE эмулируя факт изменения размера. Нет никакой гарантии, что это именно юзер мышкой сделал.