AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi NonVCL - Hintergrundfarbe eines "Labels" ändern
Thema durchsuchen
Ansicht
Themen-Optionen

NonVCL - Hintergrundfarbe eines "Labels" ändern

Ein Thema von turboPASCAL · begonnen am 31. Aug 2005 · letzter Beitrag vom 1. Sep 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

Re: NonVCL - Hintergrundfarbe eines "Labels" ände

  Alt 1. Sep 2005, 16:09
Zitat von Luckie:
An welcher Stelle sollte ich ihn denn wieder zerstören? Ich kenne die Stelle aus dem PSDK, nur wüßte ich nicht, wo ich ihn wieder zerstören sollte.
Also ich hab' dafür immer eine globale Variable genommen (so wie du auch, glaube ich), ganz am Anfang (oder bei der ersten Benutzung) einmal den HBRUSH erzeugt und beim Programmende wieder freigegeben. Ein Stock-Brush ist aber natürlich auch gut (sofern einer genau die Farbe trifft, die du haben willst).
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: NonVCL - Hintergrundfarbe eines "Labels" ände

  Alt 1. Sep 2005, 16:29
Ja hatte ich auch erst, aber am Ende ist es sowieso für den Popo. So bald der Prozess beendet wird, zerstört Windows auch den Speicherbereich und von dem Prozess ist nichts mehr im Speicher.

Jetzt sieht das bei mir so aus:
Delphi-Quellcode:
    WM_CTLCOLORSTATIC:
      begin
        case GetDlgCtrlId(lParam) of
          IDC_STC_BANNER: { color the banner white }
            begin
              result := BOOL(GetStockObject(WHITE_BRUSH));
            end;
        else
          Result := False;
        end;
      end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#13

Re: NonVCL - Hintergrundfarbe eines "Labels" ände

  Alt 1. Sep 2005, 16:39
Zitat von Luckie:
Ja hatte ich auch erst, aber am Ende ist es sowieso für den Popo. So bald der Prozess beendet wird, zerstört Windows auch den Speicherbereich und von dem Prozess ist nichts mehr im Speicher.
Bist du sicher, dass das auch für GDI-Handles gilt? Ich dachte bisher immer, die würden beim Prozessende nicht automatisch freigegeben.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: NonVCL - Hintergrundfarbe eines "Labels" ände

  Alt 1. Sep 2005, 16:43
Der Richter sagt dazu nichts explizit, deswegen bin ich davon ausgegenagen, dass dies auch für GDI Handles gilt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#15

Re: NonVCL - Hintergrundfarbe eines "Labels" ände

  Alt 1. Sep 2005, 17:02
Was hab ich da nur wieder für ein Thema angesprochen ?

Was spricht gegen:
Delphi-Quellcode:
WM_CTLCOLORSTATIC:
      begin
        case GetDlgCtrlId(lParam) of
          Edit5ID_RandomText: { Farbe des Editfeldes aendern }
            begin
              SetTextColor(wParam, clBlue);
              SetBkColor(wParam, clWhite);
            end;
          else Result := False;
        end;
      end;
...und wie kann man die Farbe zB. clBtnFace setzen (Ähm... ohne die Unit Graphics die Systemfarben setzen)

Zitat von Luckie:
Delphi-Quellcode:
//..
case GetDlgCtrlId(lParam) of
  IDC_STC_BANNER: { color the banner white }
    begin
      result := BOOL(GetStockObject(DKGRAY_BRUSH {WHITE_BRUSH}));
    end;
  else //...
dann wird es bei mir so:
Angehängte Dateien
Dateityp: zip project1.exe_708.zip (16,9 KB, 15x aufgerufen)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#16

Re: NonVCL - Hintergrundfarbe eines "Labels" ände

  Alt 1. Sep 2005, 17:05
Zitat von turboPASCAL:
Edit5ID_RandomText: { Farbe des Editfeldes aendern }
Wenn das ein Edit-Feld ist, dann musst du MSDN-Library durchsuchenWM_CTLCOLOREDIT abfangen - es gibt für jede Control-Klasse eine eigene Meldung.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#17

Re: NonVCL - Hintergrundfarbe eines "Labels" ände

  Alt 1. Sep 2005, 17:35
Äh...
Zitat von turboPASCAL:
Edit5ID_RandomText: { Farbe des Editfeldes aendern }
Ne, Edit5ID_RandomText ist ein Textfeld (Copy&Paste Fehler )

Was mich nun noch interesiert ist, wie man auf die Systemfarben ala clHighlight oder so zugreifen kann.
Die Systemfarben sind ja in der Unit Graphics def.
Delphi-Quellcode:
const
  clRed = $000000FF;
  clGreen = $0000FF00;
  clBtnFace = ?
  clHighlight = ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#18

Re: NonVCL - Hintergrundfarbe eines "Labels" ände

  Alt 1. Sep 2005, 17:49
Zitat von Luckie:
An welcher Stelle sollte ich ihn denn wieder zerstören? Ich kenne die Stelle aus dem PSDK, nur wüßte ich nicht, wo ich ihn wieder zerstören sollte.
Guckst du mal in meine Programme. Ich speicher die Brushes als Property des jeweiligen Fensters ab.

Zitat von Luckie:
Der Richter sagt dazu nichts explizit, deswegen bin ich davon ausgegenagen, dass dies auch für GDI Handles gilt.
Sollte aber so sein.

@turbo: Wenn du ein readonly-EDIT hast, dann mußt du übrigens auch diese Nachricht verwenden (also WM_CTLCOLORSTATIC), wenn es read/write ist, nimmste die entsprechende (also WM_CTLCOLOREDIT).
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#19

Re: NonVCL - Hintergrundfarbe eines "Labels" ände

  Alt 1. Sep 2005, 17:50
Zitat von turboPASCAL:
Die Systemfarben sind ja in der Unit Graphics def.
Delphi-Quellcode:
const
  clRed = $000000FF;
  clGreen = $0000FF00;
  clBtnFace = ?
  clHighlight = ?
MSDN-Library durchsuchenGetSysColor und MSDN-Library durchsuchenGetSysColorBrush
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#20

Re: NonVCL - Hintergrundfarbe eines "Labels" ände

  Alt 1. Sep 2005, 17:56
Zitat von Olli:
Ja, natürlich , so jetzt hab ich mich genug blamiert. THX.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  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 12:24 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