Hallo,
Leider stehe ich wieder einmal an und finde zu diesen Thema nix, vielleicht hat es wer von euch schon mal erstellt.
Immer wenn die Liste länger als der Bildschirm wird muss ich mit einzelenen klickt runter scrolen.
gibts hier nicht eine bessere lösung ?
Hier das komplette script:
C
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <WindowsConstants.au3>
$hGUI = GUICreate("Test", 400, 600, 0, 0)
#Region Button
$1bh = GUICtrlCreateButton("Test 1", 100, 118, 60, 40)
$1Context = GUICtrlCreateContextMenu($1bh)
$1MenuItem1 = GUICtrlCreateMenuItem("Line Test 1", $1Context)
$1MenuItem2 = GUICtrlCreateMenuItem("Line Test 2", $1Context)
$1MenuItem3 = GUICtrlCreateMenuItem("Line Test 3", $1Context)
$1MenuItem4 = GUICtrlCreateMenuItem("Line Test 4", $1Context)
$1MenuItem5 = GUICtrlCreateMenuItem("Line Test 5", $1Context)
$1MenuItem6 = GUICtrlCreateMenuItem("Line Test 1", $1Context)
$1MenuItem7 = GUICtrlCreateMenuItem("Line Test 2", $1Context)
$1MenuItem8 = GUICtrlCreateMenuItem("Line Test 3", $1Context)
$1MenuItem9 = GUICtrlCreateMenuItem("Line Test 4", $1Context)
$1MenuItem10 = GUICtrlCreateMenuItem("Line Test 5", $1Context)
$1MenuItem11 = GUICtrlCreateMenuItem("Line Test 1", $1Context)
$1MenuItem12 = GUICtrlCreateMenuItem("Line Test 2", $1Context)
$1MenuItem13 = GUICtrlCreateMenuItem("Line Test 3", $1Context)
$1MenuItem14 = GUICtrlCreateMenuItem("Line Test 4", $1Context)
$1MenuItem15 = GUICtrlCreateMenuItem("Line Test 5", $1Context)
$1MenuItem16 = GUICtrlCreateMenuItem("Line Test 1", $1Context)
$1MenuItem17 = GUICtrlCreateMenuItem("Line Test 2", $1Context)
$1MenuItem18 = GUICtrlCreateMenuItem("Line Test 3", $1Context)
$1MenuItem19 = GUICtrlCreateMenuItem("Line Test 4", $1Context)
$1MenuItem20 = GUICtrlCreateMenuItem("Line Test 5", $1Context)
$1MenuItem21 = GUICtrlCreateMenuItem("Line Test 1", $1Context)
$1MenuItem22 = GUICtrlCreateMenuItem("Line Test 2", $1Context)
$1MenuItem23 = GUICtrlCreateMenuItem("Line Test 3", $1Context)
$1MenuItem24 = GUICtrlCreateMenuItem("Line Test 4", $1Context)
$1MenuItem25 = GUICtrlCreateMenuItem("Line Test 5", $1Context)
$1MenuItem26 = GUICtrlCreateMenuItem("Line Test 1", $1Context)
$1MenuItem27 = GUICtrlCreateMenuItem("Line Test 2", $1Context)
$1MenuItem28 = GUICtrlCreateMenuItem("Line Test 3", $1Context)
$1MenuItem29 = GUICtrlCreateMenuItem("Line Test 4", $1Context)
$1MenuItem30 = GUICtrlCreateMenuItem("Line Test 5", $1Context)
$1MenuItem31 = GUICtrlCreateMenuItem("Line Test 1", $1Context)
$1MenuItem32 = GUICtrlCreateMenuItem("Line Test 2", $1Context)
$1MenuItem33 = GUICtrlCreateMenuItem("Line Test 3", $1Context)
$1MenuItem34 = GUICtrlCreateMenuItem("Line Test 4", $1Context)
$1MenuItem35 = GUICtrlCreateMenuItem("Line Test 5", $1Context)
$1MenuItem36 = GUICtrlCreateMenuItem("Line Test 1", $1Context)
$1MenuItem37 = GUICtrlCreateMenuItem("Line Test 2", $1Context)
$1MenuItem38 = GUICtrlCreateMenuItem("Line Test 3", $1Context)
$1MenuItem39 = GUICtrlCreateMenuItem("Line Test 4", $1Context)
$1MenuItem40 = GUICtrlCreateMenuItem("Line Test 5", $1Context)
$1MenuItem41 = GUICtrlCreateMenuItem("Line Test 1", $1Context)
$1MenuItem42 = GUICtrlCreateMenuItem("Line Test 2", $1Context)
$1MenuItem43 = GUICtrlCreateMenuItem("Line Test 3", $1Context)
$1MenuItem44 = GUICtrlCreateMenuItem("Line Test 4", $1Context)
$1MenuItem45 = GUICtrlCreateMenuItem("Line Test 5", $1Context)
$1MenuItem46 = GUICtrlCreateMenuItem("Line Test 1", $1Context)
$1MenuItem47 = GUICtrlCreateMenuItem("Line Test 2", $1Context)
$1MenuItem48 = GUICtrlCreateMenuItem("Line Test 3", $1Context)
$1MenuItem49 = GUICtrlCreateMenuItem("Line Test 4", $1Context)
$1MenuItem50 = GUICtrlCreateMenuItem("Line Test 5", $1Context)
$1MenuItem51 = GUICtrlCreateMenuItem("Line Test 1", $1Context)
$1MenuItem52 = GUICtrlCreateMenuItem("Line Test 2", $1Context)
$1MenuItem53 = GUICtrlCreateMenuItem("Line Test 3", $1Context)
$1MenuItem54 = GUICtrlCreateMenuItem("Line Test 4", $1Context)
$1MenuItem55 = GUICtrlCreateMenuItem("Line Test 5", $1Context)
$1MenuItem56 = GUICtrlCreateMenuItem("Line Test 1", $1Context)
$1MenuItem57 = GUICtrlCreateMenuItem("Line Test 2", $1Context)
$1MenuItem58 = GUICtrlCreateMenuItem("Line Test 3", $1Context)
$1MenuItem59 = GUICtrlCreateMenuItem("Line Test 4", $1Context)
$1MenuItem60 = GUICtrlCreateMenuItem("Line Test 5", $1Context)
GUICtrlSetFont($1bh, 8.5, 500, 0, "")
#EndRegion Button
GUISetState(@SW_SHOW)
While 1
Sleep(10)
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $1bh
ShowMenu($hGUI, $nMsg, $1Context)
Case $1MenuItem1
GUICtrlSetData($1bh, "Line Test 1")
Case $1MenuItem2
GUICtrlSetData($1bh, "Line Test 2")
Case $1MenuItem3
GUICtrlSetData($1bh, "Line Test 3")
Case $1MenuItem4
GUICtrlSetData($1bh, "Line Test 4")
Case $1MenuItem5
GUICtrlSetData($1bh, "Line Test 5")
Case $1MenuItem6
GUICtrlSetData($1bh, "Line Test 1")
Case $1MenuItem7
GUICtrlSetData($1bh, "Line Test 2")
Case $1MenuItem8
GUICtrlSetData($1bh, "Line Test 3")
Case $1MenuItem9
GUICtrlSetData($1bh, "Line Test 4")
Case $1MenuItem10
GUICtrlSetData($1bh, "Line Test 5")
Case $1MenuItem11
GUICtrlSetData($1bh, "Line Test 1")
Case $1MenuItem12
GUICtrlSetData($1bh, "Line Test 2")
Case $1MenuItem13
GUICtrlSetData($1bh, "Line Test 3")
Case $1MenuItem14
GUICtrlSetData($1bh, "Line Test 4")
Case $1MenuItem15
GUICtrlSetData($1bh, "Line Test 5")
Case $1MenuItem16
GUICtrlSetData($1bh, "Line Test 1")
Case $1MenuItem17
GUICtrlSetData($1bh, "Line Test 2")
Case $1MenuItem18
GUICtrlSetData($1bh, "Line Test 3")
Case $1MenuItem19
GUICtrlSetData($1bh, "Line Test 4")
Case $1MenuItem20
GUICtrlSetData($1bh, "Line Test 5")
Case $1MenuItem21
GUICtrlSetData($1bh, "Line Test 1")
Case $1MenuItem22
GUICtrlSetData($1bh, "Line Test 2")
Case $1MenuItem23
GUICtrlSetData($1bh, "Line Test 3")
Case $1MenuItem24
GUICtrlSetData($1bh, "Line Test 4")
Case $1MenuItem25
GUICtrlSetData($1bh, "Line Test 5")
Case $1MenuItem26
GUICtrlSetData($1bh, "Line Test 1")
Case $1MenuItem27
GUICtrlSetData($1bh, "Line Test 2")
Case $1MenuItem28
GUICtrlSetData($1bh, "Line Test 3")
Case $1MenuItem29
GUICtrlSetData($1bh, "Line Test 4")
Case $1MenuItem30
GUICtrlSetData($1bh, "Line Test 5")
Case $1MenuItem31
GUICtrlSetData($1bh, "Line Test 1")
Case $1MenuItem32
GUICtrlSetData($1bh, "Line Test 2")
Case $1MenuItem33
GUICtrlSetData($1bh, "Line Test 3")
Case $1MenuItem34
GUICtrlSetData($1bh, "Line Test 4")
Case $1MenuItem35
GUICtrlSetData($1bh, "Line Test 5")
Case $1MenuItem36
GUICtrlSetData($1bh, "Line Test 1")
Case $1MenuItem37
GUICtrlSetData($1bh, "Line Test 2")
Case $1MenuItem38
GUICtrlSetData($1bh, "Line Test 3")
Case $1MenuItem39
GUICtrlSetData($1bh, "Line Test 4")
Case $1MenuItem40
GUICtrlSetData($1bh, "Line Test 5")
Case $1MenuItem41
GUICtrlSetData($1bh, "Line Test 1")
Case $1MenuItem42
GUICtrlSetData($1bh, "Line Test 2")
Case $1MenuItem43
GUICtrlSetData($1bh, "Line Test 3")
Case $1MenuItem44
GUICtrlSetData($1bh, "Line Test 4")
Case $1MenuItem45
GUICtrlSetData($1bh, "Line Test 5")
Case $1MenuItem46
GUICtrlSetData($1bh, "Line Test 1")
Case $1MenuItem47
GUICtrlSetData($1bh, "Line Test 2")
Case $1MenuItem48
GUICtrlSetData($1bh, "Line Test 3")
Case $1MenuItem49
GUICtrlSetData($1bh, "Line Test 4")
Case $1MenuItem50
GUICtrlSetData($1bh, "Line Test 5")
Case $1MenuItem51
GUICtrlSetData($1bh, "Line Test 1")
Case $1MenuItem52
GUICtrlSetData($1bh, "Line Test 2")
Case $1MenuItem53
GUICtrlSetData($1bh, "Line Test 3")
Case $1MenuItem54
GUICtrlSetData($1bh, "Line Test 4")
Case $1MenuItem55
GUICtrlSetData($1bh, "Line Test 5")
Case $1MenuItem56
GUICtrlSetData($1bh, "Line Test 1")
Case $1MenuItem57
GUICtrlSetData($1bh, "Line Test 2")
Case $1MenuItem58
GUICtrlSetData($1bh, "Line Test 3")
Case $1MenuItem59
GUICtrlSetData($1bh, "Line Test 4")
Case $1MenuItem60
GUICtrlSetData($1bh, "Line Test 5")
EndSwitch
WEnd
#Region Func
Func ShowMenu($hWnd, $CtrlID, $nContextID)
Local $arPos, $x, $y
Local $hMenu = GUICtrlGetHandle($nContextID)
$arPos = ControlGetPos($hWnd, "", $CtrlID)
$x = $arPos[0]
$y = $arPos[1] + $arPos[3]
ClientToScreen($hWnd, $x, $y)
TrackPopupMenu($hWnd, $hMenu, $x, $y)
EndFunc ;==>ShowMenu
; Convert the client (GUI) coordinates to screen (desktop) coordinates
Func ClientToScreen($hWnd, ByRef $x, ByRef $y)
Local $stPoint = DllStructCreate("int;int")
DllStructSetData($stPoint, 1, $x)
DllStructSetData($stPoint, 2, $y)
DllCall("user32.dll", "int", "ClientToScreen", "hwnd", $hWnd, "ptr", DllStructGetPtr($stPoint))
$x = DllStructGetData($stPoint, 1)
$y = DllStructGetData($stPoint, 2)
; release Struct not really needed as it is a local
$stPoint = 0
EndFunc ;==>ClientToScreen
; Show at the given coordinates (x, y) the popup menu (hMenu) which belongs to a given GUI window (hWnd)
Func TrackPopupMenu($hWnd, $hMenu, $x, $y)
DllCall("user32.dll", "int", "TrackPopupMenuEx", "hwnd", $hMenu, "int", 0, "int", $x, "int", $y, "hwnd", $hWnd, "ptr", 0)
EndFunc ;==>TrackPopupMenu
#EndRegion Func
Alles anzeigen
Ich hab euch ein Bild angehängt damit man es besser sieht was ich meine die 2 Pfeile die oben und unten sind.
Da würde ich gerene ein Scrollbalken haben.
lg
Speedy