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

Вниз

TFrame и событие "OnPaint"   Найти похожие ветки 

 
Silver... ©   (2006-01-26 14:44) [0]

Необходимо выполнить некоторые действия когда TFrame становится "Видным" (можно "по трогать" любой бидимый контрол на нем)

я так понимаю подходяший случай "OnPaint" тока вот бяда до него не достучусь

PS. изучаю гены пока топчусь на месте мож кто в курсе как сабж рялизовать


 
Silver... ©   (2006-01-26 15:44) [1]

... необходимо эти самые действия делать в теле TFrame и именно в момент становления "видимым" ...

plz. хоть размышленя на тему имеются?

да, раз уж здесь, надо-бы отловить и когда его (TFrame) "накрывают" чем нибудь (на нем нарисуют, становится невидимым, ...)

спасибо


 
Romkin ©   (2006-01-26 16:14) [2]

Перекрой WM_PAINT, если уж так...


 
Silver... ©   (2006-01-26 16:56) [3]


> Перекрой 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 сообшения не получает :(


 
Leonid Troyanovsky ©   (2006-01-26 17:50) [4]


> Silver... ©   (26.01.06 14:44)  
> Необходимо выполнить некоторые действия когда TFrame становится
> "Видным" (можно "по трогать" любой бидимый контрол на нем)


procedure SetParent(AParent:TWinControl); override;

Т.е., после inherited и трогай.

--
Regards, LVT.


 
Silver... ©   (2006-01-26 18:24) [5]

!!! есть контакт !!!

тока, не ожидаемый:
сообщение WM_Paint получаю тока в случае накривания площади [MyFrame] ДРУГИМ ПРИЛОЖЕНИЕМ ...

да и то только если проходится "краем" этого окна по поверхности [MyFrame]

... а мне нужно чтоб произходило даже если [MyFrame] находится на TPageKontrol и перевернули страницу

как быть?


 
Silver... ©   (2006-01-26 19:29) [6]


> 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 вот и приходится изворачиваться

???


 
Leonid Troyanovsky ©   (2006-01-26 19:37) [7]


> Silver... ©   (26.01.06 19:29) [6]

> --- Надо: в момент когда юзеру показивается/прячется (OnShow/OnHide)


procedure WM_EraseBkgnd(var Message: TMessage); message WM_ERASEBKGND;

Но это, видимо, в смысле "показывается".

--
Regards, LVT.


 
Silver... ©   (2006-01-27 16:01) [8]


> message WM_ERASEBKGND;


самое оно !!! спасибо

а теперь ... :) ... хотел бы уметь ловить и когда "прячется" - на нем (MyFrame) рисуют (если мона вообще)

ПыСы: Аппетит приходит во время еды :)


 
Silver... ©   (2006-01-27 17:22) [9]

только что заметил на Фрейме есть TSplitter - он не получает сообщения на перерисовку

т.е. на нем остается то что било на том месте.

видимо так как я обрабатываю сообщение другие контролы его не получают
как пропустить (сообщение) его до конца

---------------
кстати на асчет [8] ряльно получить извещение из MyFrame о том что на него чего-то там ложат?


 
Leonid Troyanovsky ©   (2006-01-27 17:43) [10]


> Silver... ©   (27.01.06 17:22) [9]

> как пропустить (сообщение) его до конца


inherited ?


> о том что на него чего-то там ложат?


CM_CONTROLLISTCHANGE ?

--
Regards, LVT.


 
Silver... ©   (2006-01-27 20:04) [11]


> CM_CONTROLLISTCHANGE


не то :( выдается один раз видимо при создании MyFrame
а надо КАЖДЫЙ раз как MyFarame скрывается с глаз (частично или полностью)

----
Спасибо Leonid Troyanovsky за поддержку


 
Silver... ©   (2006-01-31 14:40) [12]

Стыдно говорить но так и не разобрался с доп. вопросом (не тока о нем думал :) ) из [8]:


> а теперь ... :) ... хотел бы уметь ловить и когда "прячется"
> - на нем (MyFrame) рисуют (если мона вообще)


... кто нить в курсе "предупреждают" обыекта перед дем как "испортить" лицо

---
ПыСы: Повторю вопрос именно здесь, дуаю незачем плодить доп. ветку вопросы то связанные как "+" и "-" ИМХО



Страницы: 1 вся ветка

Текущий архив: 2006.03.05;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.031 c
3-1137151906
Николай_2006
2006-01-13 14:31
2006.03.05
Проблема с хранимыми процедурами в Delphi 2006


2-1140275642
ExTeC
2006-02-18 18:14
2006.03.05
Работа со звуком и сетью. Куда копать?


2-1140303166
**Сергей**
2006-02-19 01:52
2006.03.05
Как изменить


15-1139559511
Jappak
2006-02-10 11:18
2006.03.05
ДБгрид


15-1139490614
PARUS
2006-02-09 16:10
2006.03.05
Нажатие.