AGB  ·  Datenschutz  ·  Impressum  







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

Window Theme selber malen

Ein Thema von Sherlock · begonnen am 26. Jan 2011 · letzter Beitrag vom 27. Jan 2011
Antwort Antwort
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#1

Window Theme selber malen

  Alt 26. Jan 2011, 15:43
Da ich ja die hier (http://www.delphipraxis.net/157825-f...verwendet.html) geschilderten Probleme versuche zu umschiffen, möchte ich ein TForm selber malen. Leider bekomme ich nur einen rosa Rand (Bild) oO

Ich versuche im OnPaint folgendes:
Delphi-Quellcode:
      
// Caption
      R := Rect(0, 0, Width, 30); // Eigentlich geraten, aber GEtThemeMetric gibt einen Phantasiewert zurück -.-
      canvHandle := TeschtForm.Canvas.Handle;
      Details := ThemeServices.GetElementDetails(twDialog);
// ThemeServices.DrawElement(canvHandle, Details, R);
      DrawThemeParentBackground(Handle, canvHandle, @R);
      DrawThemeBackground(aThemeHandle, canvHandle, WP_DIALOG, 0, R, @R);
  // LeftBorder
      R := Rect(0, 0, 2, Height);
      Details := ThemeServices.GetElementDetails(twDialog);
// ThemeServices.DrawElement(canvHandle, Details, R);
      DrawThemeParentBackground(Handle, canvHandle, @R);
      DrawThemeBackground(aThemeHandle, canvHandle, WP_DIALOG, 0, R, @R);
  // RightBorder
      R := Rect(Width - 2, 0, Width, Height);
      Details := ThemeServices.GetElementDetails(twDialog);
// ThemeServices.DrawElement(canvHandle, Details, R);
      DrawThemeParentBackground(Handle, canvHandle, @R);
      DrawThemeBackground(aThemeHandle, canvHandle, WP_DIALOG, 0, R, @R);
  // BottomBorder
      R := Rect(0, Height - 2, Width, Height);
      Details := ThemeServices.GetElementDetails(twDialog);
// ThemeServices.DrawElement(canvHandle, Details, R);
      DrawThemeParentBackground(Handle, canvHandle, @R);
      DrawThemeBackground(aThemeHandle, canvHandle, WP_DIALOG, 0, R, @R);
Hat jemand sowas schonmal erfolgreich gemacht (und evtl noch den Code dazu)?

Achja: natürlich alles in Win7...

Sherlock
Miniaturansicht angehängter Grafiken
2011-01-26-16h41_53.png  
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von pustekuchen
pustekuchen

Registriert seit: 27. Aug 2010
265 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Window Theme selber malen

  Alt 26. Jan 2011, 15:48
Hab ich was an den Augen oder ist dort kein Rosa Rand auf dem Screenshot?
Delphi programming is awesome.
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#3

AW: Window Theme selber malen

  Alt 26. Jan 2011, 15:50
Doch es handelt sich dabei um einen Rosafarbton(Weil bestehend aus rot+aufhellung durch weiß)


Oder meintest du wirklich dass du da nichts siehst?

MFG
Memnarch
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Window Theme selber malen

  Alt 26. Jan 2011, 15:55
Hab ich was an den Augen oder ist dort kein Rosa Rand auf dem Screenshot?
Der Rand ist nur zwei Pixel dünnn, aber er ist wirklich rosa

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#5

AW: Window Theme selber malen

  Alt 26. Jan 2011, 16:00
@Sherlock: nich nur der rand, sondern auch der Header (dne ich in meiner beobachtung eigentlich zum rand gezählt hatte)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Window Theme selber malen

  Alt 26. Jan 2011, 16:03
Klar, ich meine alles aussenrum, der dicke obere Teil dürfte ja für jeden zu erkennen sein. Übrigens zeigt mir der ThemeExplorer (DelphiGems) twDialog auch als rosa an...dürfte so manches erklären Aber was soll man denn da sonst nehmen, für einen Dialog?

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#7

AW: Window Theme selber malen

  Alt 26. Jan 2011, 16:05
Nochmal kurz auf die sprünge helfen bitte:
Ist das problem die Farbe? Oder wo die Farbe angebracht wird?

MFG
Memnarch
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

AW: Window Theme selber malen

  Alt 27. Jan 2011, 05:59
Keine Ahnung was du machst zumindest kann ich aus deinem Schnipsel nichts entnehmen.
Bei meinem Clock Projekt hatte ich das selbe problem unter XP einwandfrei unter Win7 einen Rosa Hintergrund
Habe das bei Win7 so geregelt das ich den Hintergrund auf Schwarz eingestellt habe.
GdipCreateHBITMAPFromBitmap(pointer(ImgBack), hbmReturn, $000000); In XP ist es $FF00FF..

Vieleicht hilft es dir ja.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:39 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