AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) nonVCL TabControl Hintergrundfarbe ändern

nonVCL TabControl Hintergrundfarbe ändern

Ein Thema von lbccaleb · begonnen am 23. Feb 2011 · letzter Beitrag vom 24. Feb 2011
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#11

AW: nonVCL TabControl Hintergrundfarbe ändern

  Alt 23. Feb 2011, 20:56
OK, Danke. Werde das mal ausprobieren.
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#12

AW: nonVCL TabControl Hintergrundfarbe ändern

  Alt 23. Feb 2011, 22:11
OK, Danke. Werde das mal ausprobieren.
Ich hoffe du hast die GWL_STYLE auf TCS_OWNERDRAWFIXED gesetzt?
Das viel mir gerade noch ein.

gruss

Geändert von EWeiss (24. Feb 2011 um 03:13 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#13

AW: nonVCL TabControl Hintergrundfarbe ändern

  Alt 24. Feb 2011, 03:30
Noch was gefunden
So ändern Sie die Hintergrundfarbe von einem Registerkarten-Steuerelement

Hier mal ein kleines Sample (ohne Quelltext)
Allerdings nur die TextFarbe im Tab geändert.
Und auf die schnelle in PB geschrieben.

Das Problem in Delphi es fehlen zu viele API's
Zum Beispiel!

TabCtrl_GetItem
könnte man so ermitteln
SendMessage(hwnd, TCM_GETITEM, iItem, @pItem)
War mir aber jetzt zu umständlich.



Delphi-Quellcode:
        CASE %WM_DRAWITEM
           LOCAL lDISPtr AS DRAWITEMSTRUCT PTR, zCap AS ASCIIZ * 50
           LOCAL ti AS TC_ITEM, TextDrawFlag AS LONG
 
           IF CBWPARAM = %ID_TAB THEN
              lDisPtr = CBLPARAM
 
              FillRect @lDisptr.hDc, @lDisptr.rcItem, GetSysColorBrush(%COLOR_3DFACE)
              @lDisptr.rcItem.nTop = @lDisptr.rcItem.nTop + 3
              IF @lDisPtr.ItemState = %ODS_SELECTED THEN
                 SetTextColor @lDisPtr.hDc, %BLUE
              ELSE
                 SetTextColor @lDisPtr.hDc, %BLACK
              END IF
              SetBkColor @lDisPtr.hDc, GetSysColor(%COLOR_3DFACE)
 
              ti.mask = %TCIF_TEXT
              ti.pszText = VARPTR(zCap)
              ti.cchTextMax = SIZEOF(zCap)
              CALL TabCtrl_GetItem(GetDlgItem(CBHNDL, %ID_TAB), @lDisptr.itemID, ti)
              DrawText @lDisptr.hDc, zCap, LEN(zCap), @lDisptr.rcItem, %DT_SINGLELINE OR %DT_CENTER
 
          END IF

gruss

Geändert von EWeiss ( 9. Jul 2019 um 08:32 Uhr)
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#14

AW: nonVCL TabControl Hintergrundfarbe ändern

  Alt 24. Feb 2011, 07:11
In der ganzen Diskussion vermisse ich die boolsche Eigenschaft "highlighted".
Beispiel:

Delphi-Quellcode:
constructor TTabSheet.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  Align := alClient;
  ControlStyle := ControlStyle + [csAcceptsControls, csNoDesignVisible,
    csParentBackground, csPannable];
  Visible := False;
  FTabVisible := True;
  FHighlighted := False;
end;
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#15

AW: nonVCL TabControl Hintergrundfarbe ändern

  Alt 24. Feb 2011, 07:12
In der ganzen Diskussion vermisse ich die boolsche Eigenschaft "highlighted".
Beispiel:

Delphi-Quellcode:
constructor TTabSheet.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  Align := alClient;
  ControlStyle := ControlStyle + [csAcceptsControls, csNoDesignVisible,
    csParentBackground, csPannable];
  Visible := False;
  FTabVisible := True;
  FHighlighted := False;
end;
was für ein FHighlighted
Das ist nonvcl und nicht von einer TComponente abgeleitet..
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz