Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Class spezialisten (https://www.delphipraxis.net/128560-class-spezialisten.html)

EWeiss 1. Feb 2009 19:46

Re: Class spezialisten
 
Zitat:

Zitat von quendolineDD
Die Frage ist doch, warum nimmst du static void function (class procedure) und static function (class function), wenn du diese selber über die Instanz in der eigenen Klasse verwalten kannst, und nicht erst den Umweg über den HWND der Listbox machst. Ich verstehe zum Beispiel diesen Weg gar nicht.
Warum nutzt du Klassen, wenn du ihnen nichtmal die Möglichkeit gibst "sich selbst verwalten zu können"... ?

Weil ich die innerhalb der ListWinProc sonst nicht aufrufen kann.
Es geht ja nicht um eine Listbox welche als TCustomListBox oder TListBox aufgebaut ist.
Diese ist nonvcl und hat einen Transparenten Hintergrund.

gruss Emil

quendolineDD 1. Feb 2009 19:52

Re: Class spezialisten
 
Aber du kannst doch über die Instanz des Objektes selbst auf dessen Handle zugreifen. Daran hintert dich ja nichts.
Mag sein das mir ein Einblick in die NonVCL-Programmierung fehlt, aber es ist doch trotzdem möglich, über die einzelnen Objektinstanzen sich im Rahmen von OOP zu bewegen um trotzdem all dessen Informationen zu erhalten. Ich verstehe nicht, warum etliche Handles zum Aufrufen deiner Funktionen benötigt werden?
Zum Bsp. wenn du Owner und Un-/SubClass als TObject übergibst, dürfte es doch keine Probleme machen. Oder sind da noch Interfaces im Spiel? Das wäre ein Thema außerhalb meines jetzigen Verständigungsbereichs.

lbccaleb 1. Feb 2009 20:07

Re: Class spezialisten
 
Ich versteh das nicht ganz:
Wenn man mit deiner Klasse die ListBox erstellt, und das Fenster erzeugt wird bekommt es doch automatisch ein Handle!
Wieso muss denn immer noch wieder ein für jede Funktion übergeben werden??

Edit:
Upps, im Zug ist man nicht ganz so schnell ohne Empfang :wall: :wall:

EWeiss 1. Feb 2009 20:11

Re: Class spezialisten
 
Wenn die ListBox nicht abgeleitet ist also alle vererbungen einer realen TCustom oder ListBox hat ist es schwer.
Um die Messagen zu verwalten benötigt man ein SubClassing.
Deshalb ja in einem anderen Thread die frage ob man das ohne erstellen kann.

Quasi einen DefaultHandler so wie er von TCustom/TListBox übergeben wird.
Nur so am rande.

gruss Emil

Luckie 1. Feb 2009 20:12

Re: Class spezialisten
 
Zitat:

Zitat von EWeiss
Weil ich die innerhalb der ListWinProc sonst nicht aufrufen kann.

Doch das geht: http://www.michael-puff.de/Artikel/CallbackMethod.shtml

EWeiss 1. Feb 2009 20:16

Re: Class spezialisten
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von EWeiss
Weil ich die innerhalb der ListWinProc sonst nicht aufrufen kann.

Doch das geht: http://www.michael-puff.de/Artikel/CallbackMethod.shtml

Schaue ich mir an.
Danke schön.

hab es mir mal angeschaut so ganz verstehe ich das nicht.
Kann ich hier zum beispiel anstelle von
Delphi-Quellcode:
function TEnumWindows.EnumWindows(hWnd: THandle; lp: LPARAM): Boolean; stdcall;
ein normale Winproc definieren ?
Delphi-Quellcode:
function ListBoxProc(WinHandle: HWND; Msg: UINT; wP: WParam; lP: LParam): LRESULT; stdcall;
das wäre dann natürlich ideal.


gruss Emil

EWeiss 3. Feb 2009 05:02

Re: Class spezialisten
 
@Luckie

Funktioniert jetzt.
Danke.

gruss Emil


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr.
Seite 2 von 2     12   

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