Главная страница
    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.045 c
15-1161346296
ArtemESC
2006-10-20 16:11
2006.11.12
Задачка по физике


15-1161983461
unknown
2006-10-28 01:11
2006.11.12
Clawfinger


2-1161697378
JTAG
2006-10-24 17:42
2006.11.12
Народ подскажите плз как сделать так чтобы в редакторе EDIT


15-1161682273
boriskb
2006-10-24 13:31
2006.11.12
HTML страницы ошибок


15-1161636000
Real
2006-10-24 00:40
2006.11.12
Интернет Радио - с чего начать?





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