Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.013 c
15-1139573538
Ega23
2006-02-10 15:12
2006.03.05
Глюк QA?


2-1139890063
Азат
2006-02-14 07:07
2006.03.05
функции в Делфи для работы с динам. памятью


11-1120815580
Dodfr
2005-07-08 13:39
2006.03.05
How to breakpoint into kol.pas ?


2-1140361582
Volf_555
2006-02-19 18:06
2006.03.05
Как перевести цвет из TColorBox в строку?


2-1139918768
seeker
2006-02-14 15:06
2006.03.05
WinInet....





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский