Deutsch
Forum

Rechter Mausklick auf Listview

 
- Seite 1 -



Jörg
Sellmeyer
Wie kann ich einen Klick mit der rechten (sekundären) Maustaste auf ein Listview auswerten? (Ohne die berühmte Dll eines begnadeten Programmieres! )
Und da ich grad dabei bin. Ich vermute mal, daß das Editieren von Items in Listviews ein Feature besagter Dll ist und Windows eigentlich nur die erste Spalte dafür vorgesehen hat, oder?
Hiermit funktioniert es nämlich nur mit der ersten Spalte:
SendMessage(hLV&,$1017,0,0)

Dafür muß als erstes die das Listview noch scharfgeschaltet werden:
SetStyle hLV&,GetStyle(hLV&) | $200
Wer weiß Rat?

Gruß
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
02.09.2006  
 



 
- Seite 1 -



Jörg
Sellmeyer
Ist das denn sooo komplieziert? Eigentlich müßte doch in %notifycode ein unterschiedlicher Wert stehen, je nachdem mit welcher Maustaste man klickt. Kommt aber leider immer das gleiche Ergebnis.

Bei ner Listbox passiert bei Rechtsklick gar nichts. Dafür gibt Clicked beim Listview gar kein Ergebnis.
Mit Getfocus ist der Wert immer -121

Hier kann man mal unterschiedliche Verhaltensweisen sehen:
KompilierenMarkierenSeparieren
Ist das nun Bug oder Feature? Wann kommt Roland nochmal wieder??
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
02.09.2006  
 




Jac
de
Lad
Hm...da kann ich dir jedenfalls nicht helfen...vielleicht Fank.

PS: Mit der EasyVENT klappts wunderbar!

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
02.09.2006  
 




Frank
Abbing
Wenn eine WM_NOTIFY Message empfangen wird, steht in LPARAM der Pointer auf eine Struktur (NMHDR). Der dritte Wert (code) in dieser Struktur ist der Wert des Ereignisses, welches stattgefunden hat:


NM_CLICKThe user has clicked the left mouse button within the control.
NM_DBLCLKThe user has double-clicked the left mouse button within the control.
NM_KILLFOCUSThe control has lost the input focus.
NM_OUTOFMEMORYThe control could not complete an operation because there was not enough memory available.
NM_RCLICKThe user has clicked the right mouse button within the control.
NM_RDBLCLKThe user has double-clicked the right mouse button within the control.
NM_RETURNThe control has the input focus, and the user has pressed the ENTER key.
NM_SETFOCUSThe control has received the input focus.


Hollfe, das hilft dir weiter.
 
03.09.2006  
 




Frank
Abbing
Ich nochmal.

Habs gerade mal ausprobiert. Folgender Code sollte funktionieren, macht es aber nicht:


Case ((%wmNotify) and (&NotifyWnd=listview&)): Print %NotifyCode


Ergebniss ist immer -121. Meiner Meinung nach ein eindeutiger Profan-Bug!
Ich selber löse diese Dinge eh immer im Subclassing und mit Assemblercode. Darum fällt mir sowas meisstens nicht auf.
 
03.09.2006  
 




Jörg
Sellmeyer

Ergebniss ist immer -121. Meiner Meinung nach ein eindeutiger Profan-Bug!


Genau! Rooooolaaaand!
Hhhm! Genau wie bei der Polizei: Wenn man sie braucht, ist sie nicht da.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
03.09.2006  
 




Jörg
Sellmeyer
Irgendwie blick ichs nicht. Nach meinem Verständnis müßte es doch so funktionieren, oder?
KompilierenMarkierenSeparieren
 $H Structs.ph
Struct Notify = ~NMHDR
Declare NM#
Dim NM#,Notify
Cls
Declare Lv&,Lb&
Lv&=Create(Gridbox,%Hwnd,Test;0;100;Test1;0;100,0,210,10,210,400)
Lb&=Create(Listbox,%Hwnd,0,430,10,150,400)

Whileloop 10

    Addstring(Lv&,test)
    Addstring(Lb&,test)

Wend

Declare Ende%

Whilenot Ende%

    Waitinput

    If %wmnotify

        NM# = &LPARAM

        With NM#

            Print .hwndFrom&,.idFrom&,.code&,&LPARAM,NM#

        EndWith

    EndIf

    Locate 1,1

    If Equ(%Key,2)

        Let Ende%=1

    Endif

Wend

Dispose NM#
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
03.09.2006  
 




RGH
Jörg Sellmeyer
Ist das denn sooo komplieziert? Eigentlich müßte doch in %notifycode ein unterschiedlicher Wert stehen, je nachdem mit welcher Maustaste man klickt. Kommt aber leider immer das gleiche Ergebnis.


Also bei Deinem (unveränderten) Beispiel gibt es in der Gridbox bei der einen Maustaste -2 und bei der anderen -5. Wo genau ist das Problem?

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
03.09.2006  
 




Jörg
Sellmeyer
Sollte ich einen RC verpaßt haben oder hast Du eine andere Version???
Erster Klick mit Links, zweiter mit Rechts. (Listview)

Jetzt hab ich die Listbox vergessen.
Da kommt mit Rechts garnichts an. Mit Links beim ersten Klicken -150 und dann -8.

19 kB
Hochgeladen:03.09.2006
Ladeanzahl47
Herunterladen
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
03.09.2006  
 




RGH
Hallo,
Du hast die aktuelle Version, aber ich habe es unter Windows 2000 getestet und nicht unter XP. Und bei den Notify-Geschichten hört da offensichtlich Microsofts Kompatibilität auf. Ich werde mir das in den nächsten Tagen mal näher ansehen. (Vorerst könntest Du es mal mit Messagemode 2 probieren.)

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
03.09.2006  
 



 
- Seite 2 -



Jörg
Sellmeyer
Na, wenigstens haben wir jetzt mal eine Ursache und einen Schuldigen (BG).
Messagemode 2 nützt auch nichts. Immer -121, nur jetzt bei jeder Mausbewegung nach klick auf das LV.

Ach ja, und ich hoffe Du hattest einen schönen Urlaub!! Laß Dich jetzt nicht stressen, damit nicht die ganze Erholung gleich weg ist!!!
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
03.09.2006  
 




Frank
Abbing
Hi.

Ich selber konnte in der Beziehung keinerlei Veränderung zwischen Windows98 und XP feststellen. Klar kommen mehr Messages an, aber, die gleiche Variante (WM_NOTIFY->NM_RCLICK)
im Subclassing abgefragt funktioniert bestens. Darum glaube ich nicht, dass hier ein Windowsbug vorliegt.

Hallo zurück, Roland!

P.S.: Zu diesem Thema habe ich einen schon recht alten Thread gefunden:
[...] 
 
03.09.2006  
 




Jörg
Sellmeyer
Mit so nem doch recht wüsten Konstrukt geht es erst mal:
KompilierenMarkierenSeparieren
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
03.09.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.145 Betrachtungen

Unbenanntvor 0 min.
Michael W.04.07.2016
Ernst21.05.2016
Andre Rohland31.12.2014
maroro12.06.2014
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie