| |
|
|
ByteAttack | Hallo Community,
ich möchte gerne den Mausklick in einem ListView auswerten. Allerdings habe ich noch andere Abfragen laufen, sodas ein WaitInput für meine WhileNot Schleife nicht in Frage kommt. Ich muss alles mit GetMessage machen. Beispiel:
Das funktioniert auch Prima, doch leider scrollt dann das ListView mit meinem Mauszeiger immer mit... Das geschieht mit WaitInput aber nicht |
|
|
| |
|
|
|
Rolf Koch | Hi Marc-Gordon,
wie siehts aus, wenn Du die Thread.pcu von If benutzt?
Rolf |
|
|
| |
|
|
|
ByteAttack | Leider half das auch nichts. Ist eh ein merkwürdiges Verhalten des ListViews. Es scrollt zwar immer hoch und runter, jenachdem wo sich die Maus befindet, und auch wenn ich ein anderes ListView anklicke, oder den Focus irgendwo anders setze, scrollt es munter weiter ??? |
|
|
| |
|
|
|
ByteAttack | Nochmal ich! Hat jemand diesen Fehler auch bemerkt? Wenn Nein, wird das wohl an meinem Logitech Maustreiber unter XP liegen??? |
|
|
| |
|
|
|
Jörg Sellmeyer | Hallo Marc-Gordon, Das Phänomen kenn ich. In meinem ListViewGenerator taucht es auch ab und an auf. Hab leider noch keine Regel dabei gefunden. Gruß Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 14.05.2005 ▲ |
|
|
|
|
| Poste doch mal etwas Testbares - vielleicht als exe - so bekommt man immer ganz schnell passende Antworten.
Salve. |
|
|
| |
|
|
|
ByteAttack | |
|
| |
|
|
|
| Erhalte gleich beim Start ne Exception.
Salve. |
|
|
| |
|
|
|
Rolf Koch | und bei mir wird das Fenster geöffnet und direkt wieder geschlossen ohne Hinweis o.ä.
Und noch ein Hinweis: Mir ist aufgefallen, im Menü oben auf Deiner Page. Gibt es eine neue Dll? Dort steht Includedateien Liestview.dll. Wie gesagt, nur Hinweis. |
|
|
| |
|
|
|
ByteAttack | Alles NEU gemacht. Ein einfaches Testprogramm und Quelltext. Wenn das jetzt nicht funktioniert, gehe ich in den Ruhestand... KompilierenMarkierenSeparieren $P+
SetErrorLevel 0
USERMESSAGES 16,$0044
Declare prgexit%,lvdll&,ilist&,MerkeX%,MerkeY%,X%,Y%,listview&,bereich#,icons#,bytes&,x&,y&,text$
Dim bereich#,200000
Dim icons#,40000
Def GetSystemMetrics(1) !"USER32","GetSystemMetrics"
DEF MoveWindow(6) ! "USER32","MoveWindow","%%%%%%","%"
Def GetSysColor(1) !"USER32","GetSysColor"
$I ListView_Funktionen.inc
lvdll&=usedll("Listview.dll")
ilist&=CreateImageList(1,0)
Proc Update
Declare innenX%,innenY%,left%,viertel%,YBereich%
innenX%=(%WinRight-%WinLeft)-(GetSystemMetrics(33)+GetSystemMetrics(33))
innenY%=(%WinBottom-%WinTop)-(GetSystemMetrics(4)+GetSystemMetrics(33)+GetSystemMetrics(33))
MerkeX%=%WinRight-%WinLeft
MerkeY%=%WinBottom-%WinTop
if MerkeX%<640
SetWindowPos %hwnd=%WinLeft,%WinTop-640,MerkeY%;0
elseif MerkeY%<480
SetWindowPos %hwnd=%WinLeft,%WinTop-MerkeX%,480;0
endif
MoveWindow(listview&,5,5,innenX%-10,innenY%-20,59,1)
EndProc
Hauptfenster
SetTrueColor 1
WindowStyle 31
WindowTitle "ListView Test"
Window %maxX/2-320,(%maxY/2-240)-640,480
CLS GetSysColor(15)
listview&=CreateListView(%hwnd,%hinstance,0,$00FFFFFF,-1,$30)
SetImageList(listview&,ilist&)
text$="C:"
bytes&=FilelistToCsv(addr(text$),bereich#,0,0,31,icons#)
x&=SetColumnsFromMem(listview&,bereich#,addr(y&))
CsvToListview(listview&,(bereich#+y&),(bytes&-y&),x&)
x&=GetLines(listview&)
SetIconsFromMem(listview&,0,icons#,x&)
Dispose icons#
Dispose bereich#
AutoSortListview listview&,1,2,1,2,1
SetColumnWidth(listview&,0,-1)
SetColumnWidth(listview&,1,-1)
SetColumnWidth(listview&,2,-1)
SetColumnWidth(listview&,3,-1)
SetColumnWidth(listview&,4,-2)
SortManual(listview&,0,0)
ShowListView(listview&,5,5,780,550)
InitMessages(%hwnd)
MerkeX%=%WinRight-%WinLeft
MerkeY%=%WinBottom-%WinTop
Update
Declare handle&
Dim bereich#,320
WhileNot prgexit%
GetMessage
Case %Umessage=16:prgexit%=1
X%=%WinRight-%WinLeft
Y%=%WinBottom-%WinTop
CaseNot X%=MerkeX%:Update
CaseNot Y%=MerkeY%:Update
Clear bereich#
y&=GetControlParas(bereich#)
If y&<>0
handle&=Long(bereich#,0) Listview Handle
text$=String$(bereich#,64) Itemtext
WindowTitle text$
EndIf
Wend
Dispose bereich#
CloseMessages(%hwnd)
Dispose clv1#
Dispose clv2#
Dispose clvall#
Dispose lvitem#
freedll lvdll&
|
|
|
| |
|
|
|
GDL | Hallo Marc
WinME stürzt kommplett ab.Nur über Reset wieder zu Beenden.
Servus Georg |
|
|
| |
|
|
|
| Bei mir scrollt die LV auch falsch. Dein Beispiel funzt - es liegt nicht am Maustreiber - eher daran das die messages nicht zurückgesetzt werden. Da wiederrum müsste Frank mal schauen wie er dies mit dem XProfan-Getmessage vereinbaren kann.
Wofür brauchst das Getmessage überhaupt so dringend - statt dem Waitinput ?
Salve. |
|
|
| |
|
|