AGB  ·  Datenschutz  ·  Impressum  







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

STATIC Control transparent?

Ein Thema von Rastaman · begonnen am 14. Okt 2005 · letzter Beitrag vom 3. Mai 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#11

Re: STATIC Control transparent?

  Alt 14. Okt 2005, 18:05
Ich merk schon, das wird nix ^^
Dann muss ich eben wissen, was man bei TWndClassEx beim Brush angeben muss, um die Windows Standardfarbe für 3D Objekte zu bekommen.
COLOR_BTNFACE is dunkelblau und COLOR_APPWORKSPACE is braun.
Normalerweise sind meine Fenster Hell Grau und die MDI BGs sind dunkel Grau.
Was muss ich da denn angeben

//Edit: Grad rausgefunden: COLOR_BTNSHADOW ergibt bei mir die Standardfarbe für Fenster. Kann das sein?
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#12

Re: STATIC Control transparent?

  Alt 14. Okt 2005, 18:21
Häh? Was soll der Quark denn hier im Thema

Das Ding ist doch schon "transparent", es sei denn du änderst die Farbe. In diesem Fall nimmste WM_CTLCOLORSTATIC ... Wenn es wieder eines Beispiels bedarf, gib mal kurz deinen aktuellen Source.

Zitat von Gerrit89:
Ich merk schon, das wird nix ^^
Dann muss ich eben wissen, was man bei TWndClassEx beim Brush angeben muss, um die Windows Standardfarbe für 3D Objekte zu bekommen.
COLOR_BTNFACE is dunkelblau und COLOR_APPWORKSPACE is braun.
Normalerweise sind meine Fenster Hell Grau und die MDI BGs sind dunkel Grau.
Was muss ich da denn angeben

//Edit: Grad rausgefunden: COLOR_BTNSHADOW ergibt bei mir die Standardfarbe für Fenster. Kann das sein?
die genannten Werte sind Indeces deren Farbwerte (RGB) man mit MSDN-Library durchsuchenGetSysColor herausbekommt.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#13

Re: STATIC Control transparent?

  Alt 14. Okt 2005, 18:27
Zitat von Gerrit89:
COLOR_BTNFACE is dunkelblau und COLOR_APPWORKSPACE is braun.
Normalerweise sind meine Fenster Hell Grau und die MDI BGs sind dunkel Grau.
Was muss ich da denn angeben
aber nur, wenn du es so eingestellt hast, bzw. eine entsprechende Theme verwendest,

Zitat:
//Edit: Grad rausgefunden: COLOR_BTNSHADOW ergibt bei mir die Standardfarbe für Fenster. Kann das sein?
Eigentlich nicht. Wie der Name schon sagt, hndelt es sich dabei um die Schattenfarbe der Schaltfläche für den 3D Effekt.

Unter Wiondows 2000 müsste es so aussehen:
Delphi-Quellcode:
  wc: TWndClassEx = (
    cbSize: SizeOf(TWndClassEx);
    Style: CS_HREDRAW or CS_VREDRAW;
    lpfnWndProc: @WndProc;
    cbClsExtra: 0;
    cbWndExtra: 0;
    hbrBackground: COLOR_APPWORKSPACE;
    lpszMenuName: nil;
    lpszClassName: ClassName;
    hIconSm: 0;
    );
Das ergibt das normale Fenstergrau von Windows.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#14

Re: STATIC Control transparent?

  Alt 14. Okt 2005, 18:46
Zitat von Olli:
Das Ding ist doch schon "transparent", es sei denn du änderst die Farbe. In diesem Fall nimmste WM_CTLCOLORSTATIC :Wink:
Ach ja

Zitat von Olli:
die genannten Werte sind Indeces deren Farbwerte (RGB) man mit Suche im Microsoft Developers NetworkGetSysColor herausbekommt.
Wussti net
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#15

Re: STATIC Control transparent?

  Alt 14. Okt 2005, 18:53
Zitat von Luckie:
hbrBackground: COLOR_APPWORKSPACE; Das ergibt das normale Fenstergrau von Windows.
Nope, das ergibt die Farbe des inaktiven Fensterrandes (COLOR_APPWORKSPACE = COLOR_INACTIVEBORDER + 1).

Zitat:
hbrBackground

Identifies the class background brush. This member can be a handle to the physical brush to be used for painting the background, or it can be a color value. A color value must be one of the following standard system colors (the value 1 must be added to the chosen color).
Korrekt wäre also COLOR_BTNFACE + 1.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#16

Re: STATIC Control transparent?

  Alt 15. Okt 2005, 15:27
Also bei mir (Windows 2000) macht das keinen Unterschied.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#17

Re: STATIC Control transparent?

  Alt 17. Okt 2005, 11:45
Zitat von Luckie:
Also bei mir (Windows 2000) macht das keinen Unterschied.
Weil für beide standardmäßig der gleiche Farbwert eingestellt ist...
  Mit Zitat antworten Zitat
Benutzerbild von D4rk4ng3l_md
D4rk4ng3l_md

Registriert seit: 3. Mai 2007
Ort: Magdeburg
1 Beiträge
 
#18

Re: STATIC Control transparent?

  Alt 3. Mai 2007, 17:38
Hi,

hmm, schon 'n bissel alt das Thema, hab aber noch einen Lösungsvorschlag, der eigentlich immer funktionieren sollte.

Delphi-Quellcode:
    WM_CTLCOLORSTATIC:
      begin
        SetBkMode(wParam, TRANSPARENT);
        SelectObject(wParam, GetStockObject(NULL_BRUSH));
      end;
Das ganze kann man dann noch via GetCDlgtrlID(lParam) nur auf bestimmte Statics anwenden.

Gruß D4rk4ng3l Stefan
  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 00:36 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