Entwickler-Ecke

Windows API - ListboxClass


Tweafis - Di 24.06.03 20:28
Titel: ListboxClass
Ich habe mal zur vereinfachung meines Codes eine sehr einfache Unit zur Verwaltung von Listboxes gestaltet. Man gibt einfach nachdem man die Listbox mit hwndListbox = CreateWindowEx(...) erstellt hat:

Delphi-Quelltext
1:
ApiListbox1 := TApiListbox.Create(hwndListbox)                    

Und bei der Abfrage auf WM_DESTROY einfach ein
ApliListbox1.Free; reinhauen. Hab die Unit unter http://www.dbsw.de/delphi/ListboxClass.pas abgelegt. Hoffe kan irgendjemand mit helfen. Natürlich könnt ihr mir sagen was noch falsch ist.

Werde wohl die Selection noch irgendwie einfacher machen und weitere Funktionen der normalen VCL-Listbox erstellen. Hab nur zur Zeit keinen Plan wie ich die Position verändere :oops: und wie ich den Stil ändere. außerdem ist es z.Z. umständlich, da man das handle selber erstellen muss... Außerdem noch Fehler besser abfangen und z.B. bei Listboxauswahl von einzelnen bei einer Multiselectbox dass dort das erste Item zurückggegeben wird und nicht -1. Genauso bei SelectedItems, wo eigentlich ein Array zurückgegeben wird, aber wenn keine MultiselectListbox vorliegt wird zur Zeit noch ein leeres Irgendwas zurückgegeben (hier also zurückgabe eines Array mit einem Element (der selektierte Eintrag) (Ich hafte nicht für Schäden)


Anonymous - Di 24.06.03 20:37

Hab nur zur Zeit keinen Plan wie ich die Position verändere
SetWindowPos

und wie ich den Stil ändere.
SetWindowLong / GetWindowLong ... siehe EDA auf meiner Homepage


Tweafis - Di 24.06.03 20:38

Thx a lot :D


Tweafis - Di 24.06.03 21:46

Hmm, wo finde ich denn solche informationen, wenn ich z.B. wissen will wie ich auslese an welcher x und y position mein window liegt?


Delete - Di 24.06.03 21:53

Zitat:

The GetWindowRect function retrieves the dimensions of the bounding rectangle of the specified window. The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen.

Mußt du nur noch in Fensterkoordinaten umrechnen mit
Zitat:

The ScreenToClient function converts the screen coordinates of a specified point on the screen to client-area coordinates.

Alles weitere hier: http://www.msdn.microsoft.com .


Tweafis - Di 24.06.03 22:02

*schluck* Da muss ich ja meine Englischkenntnisse anwenden ;) Mal sehen...

Danke für die schnelle Antwort :D