AGB  ·  Datenschutz  ·  Impressum  







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

Checkbox selbst zeichnen

Ein Thema von Ardeo · begonnen am 5. Mai 2007 · letzter Beitrag vom 6. Mai 2007
Antwort Antwort
Benutzerbild von turboPASCAL
turboPASCAL

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

Re: Checkbox selbst zeichnen

  Alt 6. Mai 2007, 08:09
Naja, entweder musst du die Checkbox Subclassen (siehe Luckies Tuts) oder du "übermalst" sie einfach.

Wie geht das ? So:
Delphi-Quellcode:

// Procedure zum zeichnen der Buttons im eigenem Style
procedure DrawMyButtonstyle(lpdis: PDrawItemStruct; Checked: Boolean);
var
  r: TRect;
begin
  r := lpdis.rcItem;
  Fillrect(lpdis.hDC, lpdis.rcItem, GetSysColor(COLOR_ACTIVEBORDER));
  //...
end;

function DialogProc(...); oder was auch immer
var
  lpdis: PDrawItemStruct;

  //...

    WM_DRAWITEM: // Buttons (Checkboxen) herausfischen und Style ändern
      begin
        Result := FALSE;
        lpdis := PDrawItemStruct(lParam);
        if Boolean(lpdis.CtlType and ODT_BUTTON) then
        begin
          if Boolean(lpdis.itemState and ODS_CHECKED)
            then DrawMyButtonStyle(lpdis, TRUE)
            else DrawMyButtonStyle(lpdis, FALSE);
          Result := TRUE;
        end;
      end;
Delphi-Referenz durchsuchenWM_DRAWITEM das Control muss den Style BS_OWNERDRAW enthalten.

Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  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 23:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz