Вниз
Скачать: CL | DM;

PageControl как нарисовать полностью свои закладки?   Найти похожие ветки 

 
@!!ex ©   (2011-06-17 17:41) [0]

Нужно сделать полностью свое рисование закладок.
OnDrawTab это как бы позволяет. Но с оговоркой:
бордюр закладки все равно рисуется отдельно.
В итоге я рисую закладки... и поверх них потом рисуется стандартный бордюр...

Пока единственное что пришло в голову - в OnPaint формы перерисовывать закладки. Но это решение как-то не очень... Да и корректность такого подхода вызывает сомнения...
Как убрать автоматическую отрисовку закладки?


 
KilkennyCat ©   (2011-06-17 18:14) [1]

у tmssoftware есть такой компонент. платный, но исходники, чтоб посмотреть реализацию, найти можно.


 
Amoeba_   (2011-06-17 18:43) [2]


> у tmssoftware есть такой компонент

Могу выслать исходники.


 
@!!ex ©   (2011-06-17 19:52) [3]

> [1] KilkennyCat ©   (17.06.11 18:14)

Спасибо.


> [2] Amoeba_   (17.06.11 18:43)
> Могу выслать исходники.

Давай. basovav[a]gmail.com


 
Игорь Шевченко ©   (2011-06-17 22:43) [4]

KilkennyCat ©   (17.06.11 18:14) [1]

Они, AFAIK, вообще все рисование перекрывают. То есть, вопрос - а стоит ли овчинка такой выделки ?


 
@!!ex ©   (2011-06-18 16:37) [5]

Посмотрел исходники.
Если я правильно понимаю - там просто WMPaint обрабатывается по своему.

Как влезть и обработать WM_PAINT у стандартного контрола?
Наследовать и заменить TPageControl на TMyPageControl - не годный вариант.


 
DVM ©   (2011-06-18 17:10) [6]


> @!!ex ©   (18.06.11 16:37) [5]


> Как влезть и обработать WM_PAINT у стандартного контрола?

Переопределить оконную процедуру на свою у окна.


 
@!!ex ©   (2011-06-18 17:21) [7]

> Переопределить оконную процедуру на свою у окна.

Да-да. именно это я и имел ввиду. Как корректно это сделать?


 
DVM ©   (2011-06-18 17:27) [8]


>  Как корректно это сделать?

SetWindowLong + GWL_WNDPROC и не забывать при этом сохранить адрес старой процедуры чтобы вызывать ее для всех отличных от WM_PAINT и WM_ERASEBKGND сообщений.


 
@!!ex ©   (2011-06-18 19:08) [9]

Вопрос решен. Спасибо!



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.004 c
2-1308806246
tiran1
2011-06-23 09:17
2011.10.09
ADOTable


15-1308256200
Юрий
2011-06-17 00:30
2011.10.09
С днем рождения ! 17 июня 2011 пятница


15-1306432866
м0м0к0
2011-05-26 22:01
2011.10.09
MSQL SERVER 2005 + delphi проблема с ADOCONNECTION


2-1308483468
ZimFFa
2011-06-19 15:37
2011.10.09
запросы


15-1308391782
alexdn
2011-06-18 14:09
2011.10.09
гиперссылки




   Наверх