Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > TTabbedNotebook цвет фона


Автор: ShadowDancer 7.1.2009, 15:29
Как в TTabbedNotebook изменить фоновый цвет с белого, к примеру на такой же как у формы ?

Автор: Romikgy 8.1.2009, 11:58
видать создавать наследника и перегружать ф-цию  
TTabbedNotebook.WMPaint
или попробывать дотянутся до 
OnDrawTab от предка
и наверное правильнее всего перехватывать это
procedure CNDrawItem(var Message: TWMDrawItem); message CN_DRAWITEM;
Код

procedure TCustomTabControl.CNDrawItem(var Message: TWMDrawItem);
var
  SaveIndex: Integer;
begin
  with Message.DrawItemStruct^ do
  begin
    SaveIndex := SaveDC(hDC);
    FCanvas.Lock;
    try
      FCanvas.Handle := hDC;
      FCanvas.Font := Font;
      FCanvas.Brush := Brush;
      DrawTab(itemID, rcItem, itemState and ODS_SELECTED <> 0);
    finally
      FCanvas.Handle := 0;
      FCanvas.Unlock;
      RestoreDC(hDC, SaveIndex);
    end;
  end;
  Message.Result := 1;
end;

Автор: Quartz 24.1.2009, 00:49
ShadowDancer, к чему эти анахронизмы? 

Компоненты палитры Win 3.1 оставлены только для обратной совместимости (ИМХО, давно следовало их выкинуть)... Пользуйтесь лучше TPageControl'ом.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)