Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2012, 14:14   #1
KORT
Вот я и
Форумчанин
 
Аватар для KORT
 
Регистрация: 07.04.2007
Сообщений: 501
По умолчанию Не видны caption'ы в PadeControl

Доброе время суток.
В windows7 (64-разрядная ОС) при свойстве PageControl1.OwerDraw = true не видно отображения названий вкладок, даже если в обработчике OnDrawTab прописать следующее:
Код:
 
procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
  TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
    lpRect: TRect;
  begin
    Control.Canvas.Font.Color:=clBlack;
    if Active then
      Control.Canvas.Font.Style:=Control.Canvas.Font.Style + [fsBold]
    else
      Control.Canvas.Font.Style:=Control.Canvas.Font.Style - [fsBold];
    lpRect:=Rect;
    Control.Canvas.FillRect(Rect);
    DrawText(Control.Canvas.Handle,PChar(TPageControl(Control).Pages[TabIndex].Caption),-1,lpRect,DT_SINGLELINE OR DT_VCENTER OR DT_CENTER);
end;
Что интересно в XP (32-разрядная ОС) работает все отлично - как и надо.
Ответ кроется в типе ОС или в чем-то другом...
Исходники программ - http:\\www.kort.3dn.ru

Последний раз редактировалось KORT; 22.01.2012 в 14:18.
KORT вне форума Ответить с цитированием
Старый 22.01.2012, 16:17   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Одно из решений - вставить в проект модуль VCLFixes
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.06.2013, 15:31   #3
squirel
 
Регистрация: 04.06.2013
Сообщений: 5
Хорошо

Можно просто прорисовать на закладках текст названий через метод Canvas в процедуре PageControl1DrawTab

Control.Canvas.Font.Color:=clWhite; //выставляем контрастный цвет текста
Control.Canvas.TextOut(8,5,'Привет' ); //прорисовывает текст закладки
squirel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При обновлении видны слои Електроник HTML и CSS 1 19.01.2012 21:34
не видны фотографии в моем мире. gerakaterina Свободное общение 0 17.08.2011 13:16
Не видны скрытые файлы ZahAlex Операционные системы общие вопросы 3 13.12.2009 21:00
Не видны элементы массива из ТImage. Ckomoroh Общие вопросы Delphi 2 03.12.2009 20:32
MainMenu, RadioItem не видны метки Alter Компоненты Delphi 3 22.07.2009 14:03