Deutsch
Forum

GetControlParas

 

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:
WhileNot appexit%

    GetMessage
    ... andere Abfragen
    y&=GetControlParas(klick#)

    If y&<>0

        handle&=Long(klick#,0)

        if handle&=left&

            locate 1,1

            if y&=2

                print "Left rechte Maustaste"

            elseif y&=1

                print "Left linker doppelklick"

            endif

        endif

    EndIf

    Clear klick#

wend


Das funktioniert auch Prima, doch leider scrollt dann das ListView mit meinem Mauszeiger immer mit... Das geschieht mit WaitInput aber nicht
 
Website:  [...] 
Facebook:  [...] 
13.05.2005  
 




Rolf
Koch
Hi Marc-Gordon,

wie siehts aus, wenn Du die Thread.pcu von If benutzt?

Rolf
 
13.05.2005  
 




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 ???
 
Website:  [...] 
Facebook:  [...] 
14.05.2005  
 




ByteAttack
Nochmal ich! Hat jemand diesen Fehler auch bemerkt? Wenn Nein, wird das wohl an meinem Logitech Maustreiber unter XP liegen???
 
Website:  [...] 
Facebook:  [...] 
14.05.2005  
 




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.
 
14.05.2005  
 




ByteAttack
Siehe unten
 
Website:  [...] 
Facebook:  [...] 
15.05.2005  
 



Erhalte gleich beim Start ne Exception.

Salve.
 
15.05.2005  
 




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.
 
15.05.2005  
 




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&

370 kB
Kurzbeschreibung: Die compilierte EXE
Hochgeladen:15.05.2005
Ladeanzahl43
Herunterladen
 
Website:  [...] 
Facebook:  [...] 
15.05.2005  
 




GDL
Hallo Marc

WinME stürzt kommplett ab.Nur über Reset wieder zu Beenden.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
15.05.2005  
 



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.
 
15.05.2005  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

9.097 Betrachtungen

Unbenanntvor 0 min.
RudiB.10.04.2021
iF28.09.2020
Jörg Sellmeyer15.05.2018
Uwe Lang22.06.2013
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