![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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.