Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

PageControl - подсветка заголовка страницы [D6, Win95/98]


TAN_K ©   (2005-06-07 09:13:00) 

Господа , здравствуйте !
Использую компонент - многостраничный блокнот PageControl.
Свойство Ownerdraw = true , заголовки страниц прорисовываю шрифтом и цветом . Хотелось бы сделать еще одно : указатель мыши находится над заголовком страницы - подсветка заголовка .

procedure TForm21.PageControl1MouseMove(Sender: TObject;
 Shift: TShiftState; X, Y: Integer);
begin
 PageControl1.Canvas.Font.Name  := 'Courier';
 PageControl1.Canvas.Font.Style := [fsBold,fsUnderline];
 PageControl1.Canvas.Font.Color := clBlue;
 PageControl1.Canvas.Font.Size  := 9;

 PageControl1.Canvas.TextOut(PageControl1.Left,PageControl1.Top,
  PageControl1.Pages[PageControl1.tabindex].Caption);

end;

Подсветка не получается . Господа , если кто-то знает , буду очень признательна .
Всем спасибо .


-=XP=-   (2005-06-07 09:59:00) [1]

Рисовать надо только в OnDrawTab. Как сделать так, чтобы этот OnDrawTab был вызван - это уже другое дело.

Hint 1:

procedure TrPageControl.MouseMove(Shift: TShiftState; X, Y: Integer);
var
 i: integer;
 R: TRect;
begin
 i := IndexOfTabAt(X, Y);
 if i > -1 then
 begin
   R := TabRect(i);
   DrawTab(i, R, true);
   if (m_iExIndex <> i) and (m_iExIndex > -1) and
     (m_iExIndex <> ActivePageIndex) then
     DrawTab(m_iExIndex, TabRect(m_iExIndex), false);
 end;
 m_iExIndex := i;
 inherited MouseMove(Shift, X, Y);
end;


Hint 2: Дополнительно надо обрабатывать MouseExit.


Наверх

Титульная страница Поиск, карта сайта Написать письмо