Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Panel und XPManifest (https://www.delphipraxis.net/58209-panel-und-xpmanifest.html)

Igotcha 3. Dez 2005 00:36


Panel und XPManifest
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,

ich erstelle dynamisch ein TPanel, was bisher auch problemlos dargestellt wurde. Jetzt dachte ich mir, ich nutze noch das XPManifest, um die Darstellung meines Programms etwas aufzupeppen.

Leider entsteht dabei folgender Effekt (s. Anhang).

Erstellt wird das Panel eines anzuzeigenden MDI-Childs wie folgt:

Delphi-Quellcode:
    FCaptionPanel:=aVisible;
    if FCaptionPanel= true then
    begin
      PTitle:=TPanel.Create(Self);
      PTitle.Color:=RGB(128,128,128);
      PTitle.Parent:=Self;
      PTitle.Height:=25;
      PTitle.Align:=altop;
      PTitle.Alignment:=taLeftJustify;
      PTitle.BorderWidth:=4;
      PTitle.Caption:=Self.Caption;
      PTitle.Font.Color:=clWhite;
      PTitle.ShowHint:=true;
    end;
Hat evtl. jemand eine Idee, woran das liegen kann?

Gruß Igotcha

Elvis 3. Dez 2005 00:58

Re: Panel und XPManifest
 
Kopiere mal deinen Thread titel in die DP Suche und schaue dir den thread aus den Bug reports an. Ich denke das dürfte es treffen. :zwinker:

Igotcha 3. Dez 2005 01:19

Re: Panel und XPManifest
 
Liste der Anhänge anzeigen (Anzahl: 1)
Danke, das war ein sehr guter Hinweis und hat mein o.g. Problem gelöst :-)

Nur...

Der obige Code war ein Ausschnitt, denn es fehlen noch die beiden Speedbuttons (s. Bild oben).

Delphi-Quellcode:
      SBMaximize:=TSpeedButton.Create(Self);
      SBMaximize.Parent:=PTitle;
      SBMaximize.Width:=20;
      SBMaximize.Height:=17;
      SBMaximize.Left:=PTitle.Width-48;
      SBMaximize.Top:=4;
      SBMaximize.Flat:=true;
      SBMaximize.Hint:=_('maximieren / minimieren');
      SBMaximize.Anchors:=[akTop, akRight];
      SBMaximize.OnClick:=SBMaximizeClick;
      xForm.XBASILMODWIN.GetBitmap(1,SBMaximize.Glyph);
Diese zeigen jetzt beim Mouseover leider nicht das grau des Panels, sondern werden weiß. Und dies passiert auch, wenn ich die Transparency-Property auf false stelle und sogar den Hintergrund des Bildes mit grau ausfülle.

Was machen wir denn jetzt? ;-)

Gruß Igotcha

ichbins 3. Dez 2005 10:00

Re: Panel und XPManifest
 
Bei Speedbuttons tritt dieses Problem eben auf. Versuchs mal mit BitBtns.

tigerman33 3. Dez 2005 10:33

Re: Panel und XPManifest
 
Wobei ich sagen muss, ich finde das sieht recht schick aus mit dem weiß.
Ist aber natürlich deine Sache... :)

Nils_13 3. Dez 2005 10:41

Re: Panel und XPManifest
 
Hier in der dp findest du ein Tutorial von mirage228 zur Erstellung eines eigenes XPMainfests in Form einer Res-Datei, dann sollte es keine Probleme mehr geben.

horst 3. Dez 2005 10:55

Re: Panel und XPManifest
 
Das sollte funktionieren..

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i: integer;
begin
  for i:=0 to ComponentCount-1 do
    if Components[i] is TPanel then (Components[i] as TPanel).ParentBackground:=false;
end;
Viele Grüße
Horst

Igotcha 3. Dez 2005 16:40

Re: Panel und XPManifest
 
Zitat:

Zitat von horst
Das sollte funktionieren..

Ja, das mit dem Panel funktioniert ja jetzt auch, nur die Speedbuttons sahen sehr chic vorher aus, mit XPManifest haben sie jetzt leider einen weissen Hintergrund beim Mouseover, anstatt der Farbe des grauen Panels.

Aber ich lasse das jetzt erstmal so, wenn es immerhin einen User hier gibt, der das recht hübsch findet ;-)

Danke und Gruß
Igotcha

Nils_13 3. Dez 2005 16:48

Re: Panel und XPManifest
 
Zitat:

Zitat von Igotcha
Zitat:

Zitat von horst
Das sollte funktionieren..

Ja, das mit dem Panel funktioniert ja jetzt auch, nur die Speedbuttons sahen sehr chic vorher aus, mit XPManifest haben sie jetzt leider einen weissen Hintergrund beim Mouseover, anstatt der Farbe des grauen Panels.

Aber ich lasse das jetzt erstmal so, wenn es immerhin einen User hier gibt, der das recht hübsch findet ;-)

Danke und Gruß
Igotcha

Das geht nicht anders, das ist sogar normal.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 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