C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как отменить перерисовку Button в XE2  (Прочитано 1267 раз)
Sergey1985
Участник


Сказали спасибо: +8/-1
Offline

Сообщений: 310


Как отменить перерисовку Button в XE2
« : 27 Март 2014, 09:49:29 »

Есть такой код
TControlCanvas *cc;
    cc = new TControlCanvas;
    cc->Control = Button4;
    cc->MoveTo(0,0);
    cc->LineTo(Button4->Width,Button4->Height);
    cc->TextOutA(10,10,"?????????");

В C++Builder6 все работает хорошо. А вот в абракодабре)) (Embarcadero XE2) не прорисовывает из-за штатных эффектов подсвечивания кнопки. Можно это как то отключить?
Записан
POV
Участник


Сказали спасибо: +107/-7
Offline

Сообщений: 640


Re: Как отменить перерисовку Button в XE2
« Ответ #1 : 27 Март 2014, 09:57:14 »

Так это надо рисовать не единожды, а много-много часто-часто.. запили свой код в таймер. А дальнейшем перенеси в событие onPaint компонента (если оно доступно... без наследования, т.е. фактически создания нового компонента на базе TButton это гемморно).
« Последнее редактирование: 27 Март 2014, 10:03:25 от POV » Записан
Sergey1985
Участник


Сказали спасибо: +8/-1
Offline

Сообщений: 310


Re: Как отменить перерисовку Button в XE2
« Ответ #2 : 27 Март 2014, 13:10:39 »

Боюсь тогда прога зависнет. 
Записан
POV
Участник


Сказали спасибо: +107/-7
Offline

Сообщений: 640


Re: Как отменить перерисовку Button в XE2
« Ответ #3 : 27 Март 2014, 15:10:42 »

Самое корректное - свой компонент пронаследовать от TButton.
« Последнее редактирование: 14 Апрель 2014, 10:36:07 от POV » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.052 секунд. Запросов: 22.