![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TFrame и событие "OnPaint"
Silver... © (2006-01-26 14:44:00)Необходимо выполнить некоторые действия когда TFrame становится "Видным" (можно "по трогать" любой бидимый контрол на нем)
я так понимаю подходяший случай "OnPaint" тока вот бяда до него не достучусь
PS. изучаю гены пока топчусь на месте мож кто в курсе как сабж рялизовать
Silver... (2006-01-31 14:40:00) [1]Стыдно говорить но так и не разобрался с доп. вопросом (не тока о нем думал :) ) из [8]:
> а теперь ... :) ... хотел бы уметь ловить и когда "прячется"
> - на нем (MyFrame) рисуют (если мона вообще)
... кто нить в курсе "предупреждают" обыекта перед дем как "испортить" лицо
---
ПыСы: Повторю вопрос именно здесь, дуаю незачем плодить доп. ветку вопросы то связанные как '+' и '-' ИМХО
Silver... (2006-01-27 20:04:00) [2]
> CM_CONTROLLISTCHANGE
не то :( выдается один раз видимо при создании MyFrame
а надо КАЖДЫЙ раз как MyFarame скрывается с глаз (частично или полностью)
----
Спасибо Leonid Troyanovskyза поддержку
Leonid Troyanovsky (2006-01-27 17:43:00) [3]
> Silver... © (27.01.06 17:22) [9]
> как пропустить (сообщение) его до конца
inherited ?
> о том что на него чего-то там ложат?
CM_CONTROLLISTCHANGE ?
--
Regards, LVT.
Silver... (2006-01-27 17:22:00) [4]только что заметил на Фрейме есть TSplitter - он не получает сообщения на перерисовку
т.е. на нем остается то что било на том месте.
видимо так как я обрабатываю сообщение другие контролы его не получают
как пропустить (сообщение) его до конца
---------------
кстати на асчет [8] ряльно получить извещение из MyFrame о том что на него чего-то там ложат?
Silver... (2006-01-27 16:01:00) [5]
> message WM_ERASEBKGND;
самое оно !!! спасибо
а теперь ... :) ... хотел бы уметь ловить и когда "прячется" - на нем (MyFrame) рисуют (если мона вообще)
ПыСы: Аппетит приходит во время еды :)
Leonid Troyanovsky (2006-01-26 19:37:00) [6]
> Silver... © (26.01.06 19:29) [6]
> --- Надо: в момент когда юзеру показивается/прячется (OnShow/OnHide)
procedure WM_EraseBkgnd(var Message: TMessage); message WM_ERASEBKGND;
Но это, видимо, в смысле "показывается".
--
Regards, LVT.
Silver... (2006-01-26 19:29:00) [7]
> procedure SetParent(AParent:TWinControl); override;
не понял а это тут при чем?
Поясню, значит так:
--- имеется MyFrame который могу положить на TForm, TPageControl, ...
--- Надо:в момент когда юзеру показивается/прячется (OnShow/OnHide) MyFrame выполнить некоторые действия
- у Формы имеется метод OnShow/OnHide (OnActivate, OnPaint) который можно использовать под эту цель
- у PageControl - OnChange (TabSheet.OnShow/OnHide)
Но дело в том что один и тот же фрейм может находится на многих формах и PageControl-ах, ... и не очень хоцца везде обработку делать
...я хочу обработку делать не в Form-е/PageControl-е/... а прямиком в MyFrameтока вот беда нету у TFrame подходящих задач методов типа OnShow вот и приходится изворачиваться
???
Silver... (2006-01-26 18:24:00) [8]!!! есть контакт !!!
тока, не ожидаемый:
сообщение WM_Paint получаю тока в случае накривания площади [MyFrame] ДРУГИМ ПРИЛОЖЕНИЕМ ...
да и то только если проходится "краем" этого окна по поверхности [MyFrame]
... а мне нужно чтоб произходило даже если [MyFrame] находится на TPageKontrol и перевернули страницу
как быть?
Leonid Troyanovsky (2006-01-26 17:50:00) [9]
> Silver... © (26.01.06 14:44)
> Необходимо выполнить некоторые действия когда TFrame становится
> "Видным" (можно "по трогать" любой бидимый контрол на нем)
procedure SetParent(AParent:TWinControl); override;
Т.е., после inherited и трогай.
--
Regards, LVT.
Silver... (2006-01-26 16:56:00) [10]
> Перекрой WM_PAINT, если уж так...
первое что пробовал:
...
private
procedure FrameWM_Paint(var Msg: TWMPaint{TMessage}); message WM_PAINT;
...
procedure TMyFrame.FrameWM_Paint(var Msg: TWMPaint{TMessage});
begin
ShowMessage('Paint');
end;
...
вердикт: не катит видимо TFrame сообшения не получает :(
Romkin (2006-01-26 16:14:00) [11]Перекрой WM_PAINT, если уж так...
Silver... (2006-01-26 15:44:00) [12]... необходимо эти самые действия делать в теле TFrame и именно в момент становления "видимым" ...
plz. хоть размышленя на тему имеются?
да, раз уж здесь, надо-бы отловить и когда его (TFrame) "накрывают" чем нибудь (на нем нарисуют, становится невидимым, ...)
спасибо