Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.117.137.64] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте!
Делаю компонент из TabControl для своих нужд Сразу говорю, не обращайте ВНИМАНИЕ на ламерские подход это мой первый компонент и я на нем учусь... Проблема: Когда я удаляю из него закладку, то все закладки исчезают по началу я думал, что все закладки удаляются, но потом я понял, что компонент не перерисоваться, и я не знаю что делать дальше =(Может, подскажите? Если после удаление щелкнуть мышью на компонент то все закладки обратно появляются, исключая удаленную закладку. -------------------------------------------------------------------------------------- Может уже есть готовый компонент? Дайте, пожалуйста, ссылку... -------------------------------------------------------------------------------------- |
Сообщ.
#2
,
|
|
|
Так покажи как делаешь, зачем искать сторонние компоненты, тем более что для этого есть www.torry.net
|
Сообщ.
#3
,
|
|
|
Точно! Завтра выкладу...
Добавлено Цитата Rouse_ @ Нету со скинами тем более что для этого есть www.torry.net |
Сообщ.
#4
,
|
|
|
Вот помогмите...
Прикреплённый файлToolbarWindow32.rar (2.91 Кбайт, скачиваний: 137) |
Сообщ.
#5
,
|
|
|
Я даже не понял для чего компонент - ни какие закладки не видется - чюшь какаято.
Прорисовывать надо через TToolBarWindow32.Pain или TToolBarWindow32.Invalidate вроде так. Всегда после действия типа удаление или добавления прорисовывай компонент. |
Сообщ.
#6
,
|
|
|
Понял, Аразелич, там ошибка на ошибке у тебя. Чичас попробую поправить, посмотрим, может что получиться без кардинального переписывания...
|
Сообщ.
#7
,
|
|
|
Вот, сделал тебе минимальную отрисовку, с остальным сам разбирайся, нет просто времени...
Прикреплённый файлToolbarWindow32_New_.rar (2.6 Кбайт, скачиваний: 129) |
Сообщ.
#8
,
|
|
|
Rouse_ Все равно изчезает
|
Сообщ.
#9
,
|
|
|
Бр. Помньше обрабатывай WM_PAINT, лудше выстави в ControlState флаг csCustomPaint и перекрой PaintWindow, тоогда не нужно будет со всякими Begin/EndPaint морочится и двойная буфферезация будет работать(см TCustomControl).
procedure TToolbarWindow32.CMMouseEnter(var AMsg: TMessage); begin FMouseEnter := True; Refresh; end; procedure TToolbarWindow32.CMMouseLeave(var AMsg: TMessage); begin FMouseEnter := False; Refresh; end; |