Главная страница
    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
2-1161763813
D@Nger
2006-10-25 12:10
2006.11.12
DBImage


15-1161242589
Александр Иванов
2006-10-19 11:23
2006.11.12
Америка хочет контролировать все запуски в космос?


2-1161706496
vegarulez
2006-10-24 20:14
2006.11.12
Как в messagebox поместить string?


15-1161515767
Орион
2006-10-22 15:16
2006.11.12
Кнопка


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