Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.10.09;
Скачать: 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 вся ветка

Текущий архив: 2011.10.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
2-1308309381
pavelkq
2011-06-17 15:16
2011.10.09
Какую базу применить?


4-1251278625
NeonSimfi
2009-08-26 13:23
2011.10.09
Проблема с получением comctl32.dll на Win Vista/7 ...


15-1308505658
Leon-Z
2011-06-19 21:47
2011.10.09
Иконка *.bmp на кнопке меню.


4-1251275930
TarenoKostanay
2009-08-26 12:38
2011.10.09
ОС


2-1308799300
petvv
2011-06-23 07:21
2011.10.09
Закрытие формы при возникновении в ней исключения