![]() |
Anzeige:
|
|
|||||||
| Spezielles Für die Bereiche API, Subclassing, Inline-Assembler, Prozesse, ect. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
|
Hallo.
Weiß jemand wie man die Checkboxen in einem Listview per API/sendmessage auslesen kann? Ich bastel noch mit LVM_GetItem rum, krieg das aber irgendwie nicht hin. Jac
__________________
XProfan-Profi (XProfan X2+XPIA) http://jacdelad.bplaced.net http://jacdelad.square7.ch |
|
|
|
|
|
|
#2 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Code:
state& = SendMessage(lv&, ~LVM_GETITEMSTATE, zeile&, ~LVIS_STATEIMAGEMASK)
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#3 (Direktlink) |
|
Dauergast
![]() Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.079
|
Als allgemeine Frage zu API-Programmierung überhaupt gemeint:
Ist die API da besser als @GetCheck(hdl%)?
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3 |
|
|
|
|
|
#4 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Allgemein: Alles was über XProfan interne Befehle läuft, geht schneller als über API.
Da Profaninterne Sachen aber sehr oft nicht so funktionieren, wie ich das für ein Programm brauche, regele ich in der Regel trotzdem die meisten Sachen über API.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#5 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Hatte GetCheck(hdl%) nicht getestet, funktioniert das überhaupt, weil keine Zeile angegeben wird...? Die Message oben verwende ich so in der Listview.dll.
Ob ich die Message direkt absetze, oder einen Befehl dazu aufrufe: Die unterschiedliche Zeit wird wohl kaum messbar sein, weil es immer Zeit benötigt, bis eine Message beim Fenster/Control ankommt. Dann sollte PostMessage schneller sein, weil das nicht wartet, bis die Message angekommen ist, sondern sofort zurückkehrt.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
|
#6 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
|
GetCheck() dürfte meines Erachtens nicht funktionieren, weil es nicht für Listviews konzipiert ist.
Das Sendmessage hatte ich auch schon so in der Art, aber ich muss erstmal schauen, wie ich state& auswerte.
__________________
XProfan-Profi (XProfan X2+XPIA) http://jacdelad.bplaced.net http://jacdelad.square7.ch |
|
|
|
|
|
#7 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
|
Hallo,
da es Microsoft gefällt selbst für gleiche Funktionen bei unterschiedlichen Dialogelementen auch unterschiedliche Messages zu verwenden funktioniert getCheck() in diesem Falle nicht, zumal es ja noch einen Parameter für die Zeile/Spalte der Listbox geben müsste, in der sich die Checkbox befindet. Dass z.B. getText$() in XProfan für so viele unterschiedliche Dialogelemente funktioniert, liegt daran, dass hier XProfan versucht, es dem Programmierer einfach zu machen: es überprüft, zu welcher Klasse das Handle gehört und fragt dann die nötigen Parameter ab und ruft die entsprechende Message auf. Gruß Roland
__________________
Pentium D 2,8 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon HD5450 1024 MB / Windows 7(32) - XProfan X2.0c AMD Athlon II X2 2,9 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon 3000 / Windows 7(64) - XProfan X2.0c http://www.xprofan.de |
|
|
|
|
|
#8 (Direktlink) | |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Du kannst auch nicht jede Message als Befehl umsetzen. Wer den Umfang seiner Programmiersprache erweitern möchte, sollte sich unbedingt mit API beschäftigen.
Zitat:
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
|
#9 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
|
@Frank: Aber nicht jeder will API lernen oder hat die Zeit dafür, es ist ja auch nicht immer einfach. Und so macht XProfan einen guten Job. Geschwindigkeit ist auch nicht immer entscheidend.
__________________
XProfan-Profi (XProfan X2+XPIA) http://jacdelad.bplaced.net http://jacdelad.square7.ch |
|
|
|
|
|
#10 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
|
Aha:
Code:
case SendMessage(lv&,LVM_GETITEMSTATE,zeile&,LVIS_STATEIMAGEMASK)=8192:TuIrgendwas
__________________
XProfan-Profi (XProfan X2+XPIA) http://jacdelad.bplaced.net http://jacdelad.square7.ch |
|
|
|
|
|
|
#11 (Direktlink) | |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Zitat:
XProfan wandelt aber jeden einzelnen Parameter einer API oder Befehls um und durchläuft im Interpreter eine sehr umfangreiche Schleife. SendMessage braucht 4 Parameter, Getcheck nur einen. Ich kann das bei mir leider nicht testen - ich nehme aber an, das auch hier SendMessage und API langsamer ist.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
|
#12 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Ich denke nicht, dass die Zeitspanne irgendeine Rolle spielt. Auch wenn das intern in Delphi abläuft, der Klassenname muss ermittelt werden (API), der Name mit einer Liste von möglichen Klassennamen verglichen werden und dann muss verzweigt darauf reagiert werden. Gerade die Stringoperationen verbrauchen einiges an Zeit, da wird intern auf allerhand Speicheradressen lesend zugegriffen usw.. Ich denke, da tut sich nichts. Wer grad nichts zu tun hat, kann es ja gerne mal testen.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#13 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Lass mal XProfan über einen Debugger laufen, dann siehst du, was wohl schneller ist.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#14 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
|
Wenn ich das ganze in einer Schleife 10000x Abfrage, dann kommt da was
Messbares bei raus, aber im Normalfalle sollte das ganze vollkommen uninteressant sein. Die evtl. "gewonnenen" ms gammelt das Programm später im EventLoop ab. Es lohnt doch garnicht drüber Nachzudenken
__________________
Gruß Thomas Wenn mir früher jemand gesagt hätte, ich würde freiwillig eine Wanze mit mir herum tragen und sie auch noch selbst aufladen, hätte ich laut gelacht. Heute habe ich ein Smartphone. http://realsource.de |
|
|
|
|
|
#15 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Ganz genau.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Sortierfunktion in der Listview.dll | horsthorn | Dlls, Includes, Units & Prozeduren | 14 | 16.02.2011 07:32 |
| Listview.dll und Richtungstasten | horsthorn | Dlls, Includes, Units & Prozeduren | 2 | 01.02.2010 13:46 |
| Wie baue ich listview ein? | Peter C. | Dlls, Includes, Units & Prozeduren | 12 | 31.03.2009 08:14 |
| listview | Peter C. | Spezielles | 6 | 29.03.2009 00:41 |
| Listview | Peter C. | Helfer & Tools | 3 | 28.03.2009 09:30 |