AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TTabControl, XP-Style, OwnerDraw

Ein Thema von EConvertError · begonnen am 1. Okt 2006 · letzter Beitrag vom 13. Okt 2006
Antwort Antwort
Seite 2 von 2     12   
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#11

Re: TTabControl, XP-Style, OwnerDraw

  Alt 10. Okt 2006, 15:48
*push*
Andreas N.
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#12

Re: TTabControl, XP-Style, OwnerDraw

  Alt 10. Okt 2006, 16:39
Bleib beim Owner-Draw und benutze für die anderen Tabs die Funktionen aus der Unit Themes. Da gibbet den ThemeManager, der Dir für (fast) jedes zu zeichnende Element die passende XP-Bitmap malt. Auch Texte lassen sich so im XP-Style darstellen.
Muss quasi den ThemeManager frage, ob XP-Themes aktiviert sind. Wenn nein rufst Du inherited, wenn ja, zeichnest Du die XP-Elemente. Kannst ja auch mal in die Quellen von TTabSheet reinschaun, weil bei den VCL-Komponenten malen die Borlands den XP-Style auch selber.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#13

Re: TTabControl, XP-Style, OwnerDraw

  Alt 11. Okt 2006, 17:03
Hmmm, danke!

Ich muss ehrlich sagen, dass ich mit dem Thememanager (und der Themes Unit) noch nie gearbeitet habe. Das hört sich nach viel Arbeit an. Vor allem wenn man bedenkt, dass es hier nur um Eye-Candy geht und nicht um wichtige Funktionalität.

Zitat:
Kannst ja auch mal in die Quellen von TTabSheet reinschaun, weil bei den VCL-Komponenten malen die Borlands den XP-Style auch selber.
In welcher Methode wird da gemalt? Ich habe das nicht gefunden...
Weil zur Zeit habe ich keinen Plan, wie das funktionieren soll...

Alles in allem scheint es mir auch etwas viel Aufwand sein, nur für ein wenig Eye-Candy.

Ich hoffe allerdings, dass die TPainBox mit XP-Styles funktioniert, denn das brauche ich wirklich...

Vielen Dank,
Andreas
Andreas N.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#14

Re: TTabControl, XP-Style, OwnerDraw

  Alt 11. Okt 2006, 17:18
TPainBox?

Aber dass die TPaintbox nicht funktioniert, kann ich mir nicht vorstellen, die repräsentiert ja nur ienen Ausschnitt des Form-Canvas.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#15

Re: TTabControl, XP-Style, OwnerDraw

  Alt 11. Okt 2006, 17:41
Nein, nein, bitte nicht missverstehen!

Ich habe nicht behauptet, dass die TPaintBox nicht funktioniert. Allerdings sind mir in Zusammenhang mit den XP-Styles schon die unglaublichsten Sachen passiert...

Deshalb hoffe ich, dass es da kein Problem geben wird....

Ansonsten melde ich mich natürlich,
Andreas
Andreas N.
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#16

Re: TTabControl, XP-Style, OwnerDraw

  Alt 11. Okt 2006, 19:20
Zitat von EConvertError:
Ich muss ehrlich sagen, dass ich mit dem Thememanager (und der Themes Unit) noch nie gearbeitet habe. Das hört sich nach viel Arbeit an. Vor allem wenn man bedenkt, dass es hier nur um Eye-Candy geht und nicht um wichtige Funktionalität.
Andreas
keine Panik, einfach ThemeManager runter laden, istallieren, Kompo auf Mainform, fertig.

Hab selbst gedacht ist hölle schwer, aber echt kein Problem!

probier mal unter Soft Gems

Gruß oki

edit: uuups, wenn du D7 hast, ist das eh schon dabei (hab ich gehört).
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#17

Re: TTabControl, XP-Style, OwnerDraw

  Alt 11. Okt 2006, 19:30
Und die Zeichenroutinen beim ThemeManager ähneln stark den normalen, wie z.B.rawEdge, nur dass die Parameter verständlicher sind und man nicht so viel zeichnen muss, wie bei den oldscool 3d effekten.
Im Endeffekt ists weniger code.
Hier mal ein Bleistift:
Delphi-Quellcode:
  Procedure DrawBtn( _sText: String;
                     _bDown: Boolean);
  Var
    oEleDet: TThemedElementDetails;
  Begin
    If ThemeServices.ThemesEnabled //hier mit Themes
    Then Begin
// ab her wird das Element ermittelt
      If _bDown
      Then oEleDet:=ThemeServices.GetElementDetails(tbPushButtonPressed)
      Else Begin
        If _iIndex=iMouseOver
        Then oEleDet:=ThemeServices.GetElementDetails(tbPushButtonHot)
        Else oEleDet:=ThemeServices.GetElementDetails(tbPushButtonNormal);
      End;
//hier ist dann das Zeichnen
      ThemeServices.DrawElement(Canvas.Handle,oEleDet,oRect);
      ThemeServices.DrawText(Canvas.Handle,oEleDet,
                             _sText,oRect,DT_CENTER Or DT_VCENTER,0);
    End Else Begin //Hier ohne
      If _bDown
      Then DrawEdge(Canvas.Handle,oRect,BDR_SUNKEN,
                    BF_RECT Or BF_SOFT Or BF_ADJUST Or BF_MIDDLE)
      Else DrawEdge(Canvas.Handle,oRect,BDR_RAISED,
                    BF_RECT Or BF_SOFT Or BF_ADJUST Or BF_MIDDLE);
      Canvas.Brush.Color:=clBtnFace;
      If _iIndex=iMouseOver
      Then Canvas.Font.Color:=clHighlightText
      Else Canvas.Font.Color:=clWindowText;
      DrawText(Canvas.Handle,@_sText[1],1,oRect,DT_CENTER Or DT_VCENTER);
    End;
  End;
Wobei diese Prozedur in eine andere eingebettet ist und oRect ist ne variable der äusseren...
die tbXXX Konstanten findest Du auch in der Unit Themes ...
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#18

Re: TTabControl, XP-Style, OwnerDraw

  Alt 13. Okt 2006, 07:06
Danke!

Das werde ich mir mal zu Gemüte führen!
Bei Problemen melde ich mich wieder!

Vielen Dank,
Andreas
Andreas N.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 07:34 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