Hallo,
ich hab eine GUI geschrieben, wo da drinne noch eine GUI ist. Diese soll man durch einen einfachen Klick nach unten oder oben scrollen können. Leider ist das nicht passend zur Maus. Ich tüftle schon die ganzen Zeit damit rum und hab mir zur Hilfe Skizzen gemacht, aber ich krieg das nicht hin
Bitte helft mir!
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIScrollbars.au3>
#include <ScrollBarConstants.au3>
#include <StaticConstants.au3>
#include <Misc.au3>
Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]Local $OldMove = 0
[/autoit] [autoit][/autoit] [autoit]$hGUI = GUICreate("Form1", 386, 386)
GUISetBkColor(0xFFFFFF, $hGUI)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Close")
$Button1 = GUICtrlCreateButton("Ok", 304, 352, 75, 25)
GUICtrlSetOnEvent(-1, "_close")
$hScrollGUI = GUICreate("", 369, 337, 8, 8, $WS_POPUP, $WS_EX_MDICHILD, $hGUI)
GUISetBkColor(0xFFFFFF, $hScrollGUI)
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_Move")
Local $ClientSize = WinGetClientSize($hScrollGUI)
Local $Middle = ($ClientSize[0] / 2)
_Schrift('Desktop Radio', 130, 0x005ACE, True)
_Schrift('Version: 3.3.0.0', 145, 0x005ACE, False)
_Schrift('Copyright © bla', 145, 0x005ACE, False)
_Schrift('e-Mail: emaladdress@host.de', 170, 0x005ACE, False)
GUICtrlCreateLabel("", 0 + 20, 200, $ClientSize[0] - 40, 2, -1, $WS_EX_STATICEDGE)
_GUIScrollBars_Init($hScrollGUI)
_GUIScrollBars_ShowScrollBar($hScrollGUI, $SB_HORZ, False)
_GUIScrollBars_ShowScrollBar($hScrollGUI, $SB_VERT, False)
GUISetState(@SW_SHOW, $hScrollGUI)
GUISetState(@SW_SHOW, $hGUI)
AdlibRegister("_auto", 100)
[/autoit] [autoit][/autoit] [autoit]While 1
Sleep(100)
WEnd
Func _auto()
_GUIScrollBars_ScrollWindow($hScrollGUI, 0, -1)
$OldMove =- 1
EndFunc
Func _Move()
AdlibUnRegister("_auto")
Local $Cursor1 = GUIGetCursorInfo($hScrollGUI)
Local $Cursor2
While _IsPressed("01")
$Cursor2 = GUIGetCursorInfo($hScrollGUI)
If ($Cursor2[1] - $Cursor1[1]) <> $OldMove Then
ConsoleWrite(($Cursor2[1] - $Cursor1[1]) & @CRLF)
_GUIScrollBars_ScrollWindow($hScrollGUI, 0, ($Cursor2[1] - $Cursor1[1]))
$OldMove = ($Cursor2[1] - $Cursor1[1])
EndIf
WEnd
AdlibRegister("_auto", 100)
EndFunc
Func _calc($vaule1, $vaule2)
Return $vaule2 - $vaule1
;~ If $vaule1 < $vaule2 Then Return $vaule2 - $vaule1
EndFunc
Func _Schrift($Text, $YPos, $Farbe = 0x005ACE, $Fett = False)
If $Fett Then
Local $Bold = 800
Else
Local $Bold = 400
EndIf
GUICtrlCreateLabel($Text, 0, $YPos, $ClientSize[0], 17, $SS_CENTER)
GUICtrlSetFont(-1, Default, $Bold , 0, "MS Sans Serif", 5)
GUICtrlSetColor(-1, $Farbe)
EndFunc
Func _Close()
Exit
EndFunc