Veröffentlicht 22. August 200222 j Ich hasse es solche Thread aufmachen zu müssen, aber ich finds einfach nicht. Ich möchte mein CListCtrl auf Mehrfachauswahl im Programm stellen. Aber ich finde den Style einfach nicht ! Also nicht im Editor auf Mehrfachauswahl sondern zur Laufzeit !
22. August 200222 j Danke funzt ! Weiteres Problem: Ich hab ne Klasse von CListCtrl abgeleitet, weil ich will dass man auf das Drücken der "Enter"Taste ebenso Daten selektieren kann wie durch NM_DBLCLK. Nun fange ich das Ereignis der EnterTaste für das Control durch PreTranslateMessage ab. Nachdem das erfolgt ist, muss ich ja aus meiner MyListCtrl Klasse eine Message an das entsprechende Dialogfeld mit dem entsrpechenden LIstCtrl schicken. SendMessage(WM_NOTIFY,NM_DBLCLK,NULL); funzt nicht. Stürzt ab. Ideen ???
22. August 200222 j NULL dürfte das Problem sein. Der lParam der NM_DBLCLK-Nachricht muss die Adresse einer NMHDR-Struktur enhalten. Ab Version 4.71 der Comctl32.dll wird als lParam offenbar sogar die Adresse einer NMITEMACTIVATE-Struktur erwartet. Nach dem, was ich gefunden habe, müssen iItem, iSubItem und ptAction mit gültigen Daten gefüllt sein.
23. August 200222 j Hat sich erledigt. Man "biegt" einfach die eingehende Doppel-Click-Nachricht um: BOOL CMyListCtrl::PreTranslateMessage(MSG* pMsg) { if(pMsg->message==WM_KEYDOWN) { if(pMsg->wParam==13) pMsg->message=WM_LBUTTONDBLCLK; } return CListCtrl::PreTranslateMessage(pMsg); } [/PHP]
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.