Вниз
Скачать: 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
15-1308579867
Kerk
2011-06-20 18:24
2011.10.09
Тестирование


15-1308169803
Юрий
2011-06-16 00:30
2011.10.09
С днем рождения ! 16 июня 2011 четверг


15-1308313863
RGV
2011-06-17 16:31
2011.10.09
Реализация подсказки типа DropDownList.


15-1308328493
alexdn
2011-06-17 20:34
2011.10.09
по Inno setup


15-1308044473
И. Павел
2011-06-14 13:41
2011.10.09
Про SAP и их подход к написанию документации




   Наверх