Thema: Delphi novcl button

Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#7

Re: novcl button

  Alt 6. Okt 2008, 10:53
Zitat von x000x:
Moin moin Emil,

zeichnest du den Button selber (BS_OWNERDRAW)? Dann wäre deine Paint-Methode interessant.
... aber ohne Code ist es wirklich schwierig ...

PS: Ich hatte vor einiger Zeit auch mal einen nonVCL Button erstellt (incl. laden von JPGs)
Evtl. kannste da einige Codeschnipsel verwenden...
Das sieht so aus ..

Delphi-Quellcode:
function RegisterButton(ButtonClass: PAnsiChar): BOOL;
var
  IsInitialized : BOOL;
  CLASS_NAME : PAnsiChar;

begin

    CLASS_NAME := ButtonClass;

    dlgClass.cbSize := SIZEOF(dlgClass);
    IsInitialized := GetClassInfoEx(hInstance, ButtonClass, dlgClass);

    if not IsInitialized then
    with dlgClass do
    begin
       IsInitialized := (GetClassInfoEx(hInstance, 'BUTTON', dlgClass));
       if IsInitialized then
       begin
           ButOldProc(lpfnWndProc, 1);
           ButOldExtra(cbWndExtra, 1);
           lpfnWndProc := @ImageButtonProc;
          // Reserviere EXTEND_EXTRA bytes zum speichern privater properties
          cbWndExtra := cbWndExtra + (EXTEND_EXTRA * 4);
          hInstance := GetInstance;
          lpszClassName := CLASS_NAME;
          IsInitialized := Bool(RegisterClassEx(dlgClass));
       end;
    end;
    Result := IsInitialized;

end;
Um den ganzen Code jetzt zu posten wäre etwas viel da alles noch über die Winproc läuft usw...
aber so kannst meinen ansatz sehen.

gruss Emil
  Mit Zitat antworten Zitat