visual Style / Theme / Skinframework

Nutzung, Komponenten, .NET

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

visual Style / Theme / Skinframework

Beitrag von AUGE_OHR »

hi,

ich habe auf einer Rebar, wahlweise bei compilieren (#IFDEF) ,ein XbpToolBar() oder meine DXE_ToolBar().
Rebar_ToolBar_Text1.PNG
Rebar_ToolBar_Text1.PNG (13.26 KiB) 4607 mal betrachtet
da fehlt doch bei meiner DXE_Toolbar() der Text unter den Icons ... hm ... :?:

nun habe ich versucht einen Fehler zu finden denn das Demo "ohne" Rebar funktioniert ja ... hm ...
btw. damit die Rebar "Farbe" bekommt muss man o:useVisualStyle := .F. setzten

irgendwann hab ich auch den SkinFrameWork aktiviert und das bekommen.
Rebar_ToolBar_Text2.PNG
Rebar_ToolBar_Text2.PNG (14.95 KiB) 4607 mal betrachtet
das der Text unten abgeschnitten wurde ist eine Sache*** aber "warum" erscheint der Text "erst jetzt" ? :shock:
*** der Button geht nicht bis unten an die Rebar .. ca. 6 Pixel

die Toolbar selbst hat o:useVisualStyle := .T. sonst hätte man keinen "Flat-Style" ( hab es auch mit .F. probiert )
das Theme "wirkt" auf die Toolbar in beiden Fällen ... auf die Rebar "wirken" Theme Änderungen scheinbar nicht.

nun könnte man denken : mach doch die Rebar / Toolbar höher ... aber auch das bringt nichts ausser das die Rebar grösser wird ...
die Toolbars "folgen" nicht der neuen Höhe der Rebar und wenn man manuell eingreifen will "organisiert" die Rebar wieder um :banghead:

wenn ich

Code: Alles auswählen

o:textAlign := XBPALIGN_RIGHT
verwende ist das Ergebnis so
Rebar_ToolBar_Text3.PNG
Rebar_ToolBar_Text3.PNG (11.61 KiB) 4607 mal betrachtet
:D ... nur die Höhe der Rebar / Toolbar ist verschieden was man aber schnell anpassen kann (verkleinern geht ...).

trotzdem fehlt mir eine (logische) Erklärung was da passiert ... jemand eine Idee ?

Code: Alles auswählen

PROCEDURE MAIN
...
#IFDEF UseSkin
   oSkin := XbpActiveXControl():new(oDlg:drawingArea, , {0,0}, {0,0} )
   oSkin:CLSID := "{16378D39-12CF-4C7D-8769-DFAAF02FD1F5}"
...
#ENDIF
...
   ::oRebar    := DXE_ReBar():New(::DrawingArea,,aPos,aSize,,.T.)
#IFDEF UseColor
   ::oRebar:useVisualStyle := .F.
#ENDIF
   ::oRebar:create()
...
#IFDEF Use_DXE
   ::oToolbar  := DXE_Toolbar():New(::DrawingArea,,{0,0},{aSize[1]/2,nHeight})
*  ::oToolbar:useVisualStyle := .F.
#ELSE
   ::oToolbar  := XbpToolbar():New(::DrawingArea,,{0,0},{aSize[1]/2,nHeight})
*  ::oToolbar:useVisualStyle := .F.
#ENDIF

//
// die Verknüpfung der XbParts mit der Rebar erfolgt in der LIB so
//
   oRebar:hwndChild  := oXbPart:getHWND()
gruss by OHR
Jimmy
Antworten