Einzelnen Beitrag anzeigen

Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#1

Window Theme selber malen

  Alt 26. Jan 2011, 16: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