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

Вниз

Перекрытый Paint.   Найти похожие ветки 

 
Ice   (2006-03-16 13:49) [0]

Есть компонент, наследник TPanеl... Его пайнт я перекрыл, ибо надо было рисовать на канве самой панели. Но. Иногда это рисование задевает контролы, которые на этой панели размещены. А если вызывать у этих контролов Repaint, Refresh, Invalidate - то обновление оных вызывает обновление панели, которое, в свою очередь, ну и т.д. ...
Как быть ?

procedure TXPanel.Paint;
var i : integer;
begin
 inherited;

 {......}

 if self.ControlCount > 0 then
   for i:=0 to self.ControlCount - 1 do
    (self.Controls[i] as TControl).Repaint;

end;


 
MBo ©   (2006-03-16 15:29) [1]

>А если вызывать у этих контролов
Так контролы сами перерисовываются же...
TWinControl.PaintHandler
TWinControl.PaintControls


 
Ice   (2006-03-16 16:01) [2]


> MBo ©   (16.03.06 15:29) [1]
> >А если вызывать у этих контролов
> Так контролы сами перерисовываются же...
> TWinControl.PaintHandler
> TWinControl.PaintControls


В дизайн-тайме тоже ? Тогда я чего то не понимаю...


 
MBo ©   (2006-03-16 16:30) [3]

>Тогда я чего то не понимаю...
Разъясни, в чем у тебя проблема-то


 
Ice   (2006-03-16 16:43) [4]

Есть наследник TPanel.
Помещаю его на форму. Все ОК.
Помещаю уже на него TLabel. Все тоже ОК.
Если после этого меняю какие-то свойства, затрагивающие метод Paint моего компонента, TLabel тут же пропадает.

Если переключиться в редактор и снова на форму - TLabel появится. Если нажать F9  - в рантайме TLabel тоже появится.

Проблема в том, чтобы в дизайнтайме обновить контролы на панели, не зацикливая её Paint...


 
clickmaker ©   (2006-03-21 11:17) [5]


> if self.ControlCount > 0 then
>    for i:=0 to self.ControlCount - 1 do
>     (self.Controls[i] as TControl).Repaint

вот это зачем?
и как ты рисуешь на панели?



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

Форум: "Компоненты";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.078 c
15-1161875174
oldman
2006-10-26 19:06
2006.11.12
Магия чисел?


9-1138338645
VolanD666
2006-01-27 08:10
2006.11.12
Ограничение FPS


2-1162118210
ymy1
2006-10-29 13:36
2006.11.12
неиспользуемое в классе


15-1161932239
Сало
2006-10-27 10:57
2006.11.12
Про телевидение


3-1158042018
VPR
2006-09-12 10:20
2006.11.12
DBF или массив





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