Главная страница
    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
1-1138504415
Linn
2006-01-29 06:13
2006.03.05
Hotkeys


1-1138962622
dan317
2006-02-03 13:30
2006.03.05
Исчезновение объектных published-свойств - у кого было ?


2-1140243055
VitalikS
2006-02-18 09:10
2006.03.05
POP3


15-1139686369
ArtemESC
2006-02-11 22:32
2006.03.05
Помогите с интегралами...


1-1138621521
DelphiLexx
2006-01-30 14:45
2006.03.05
DBGridEh работа с checkboxes





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский