wie wärs mit C:\Programme\AutoIt3\SciTE\ScriptWriter
schreib halt mal was genau du willst ![]()
wie wärs mit C:\Programme\AutoIt3\SciTE\ScriptWriter
schreib halt mal was genau du willst ![]()
also ich dachte jetz an die beiden schlüssel in der registry:
HKEY_CURRENT_USER\Control Panel\Sound\Extended Sounds
HKEY_CURRENT_USER\Control Panel\Sound\Beep
allerdings hab ich getestet und die beiden auf "No" gesetzt und es piept trotzdem noch. Kannst es ja trotzdem mal bei dir probieren die auf Yes zu setzten.
könnte sein dass die erst nach nem neustart aktiv werden. das würde auch erklären warums bei mir noch ging
Verwend doch einfach:
[autoit][/autoit]
#Include <String.au3>
_StringEncrypt(1,"Text" , "Passwort", 2)Magnus
boa des wär ja viel zu einfach ![]()
kann mir nicht vorstellen das es nich möglich is...
könntest vllt dein aktuelles skript und den namen der software posten. dann schau ichs mir mal genauer an.
oder mit screenshots das ganze bissl genauer zeigen
ansonsten hab ich schon ne idee wie ich dir sonst helfen könnte, aber des muss bis nächste woche warten weil ich ab morgen im urlaub bin ![]()
was ist jetz genau das problem?
taucht der button nicht auf oder hast du probleme damit dass nix passiert wenn man ihn klickt?
ganz lustig des teil.
aber ich glaub ich hab nen kleinen bug entdeckt:
wenn man im negertiven modus an einen bildschirmrand fährt kommt man da nichmehr weg...
also mit bildschrimrand mein ich die positionen:
[autoit]$x, 0
0, $y
$x, @DesktopHeight
@DesktopWidth, $y
ZitatJup, ist bei mir auch so ( XP SP3), ist echt Toll, wusste ich noch garnicht
bei mir das gleiche^^
super der tipp den kann ich gleich gebrauchen, dankeschön ![]()
kleine Anmerkung aus der hilfe zu syne 's Beitrag
ZitatBemerkungen
Wenn die Arbeit mit der DLL beendet ist, dann sollte DLLClose zum schließen der DLL aufgerufen werden.
AutoIt schließt zwar normalerweise alle Filehandles nach dem Beenden, aber das explizite Aufrufen von DllClose ist trotzdem empfehlenswert.
@ Psike2k9
könntest den Post auf gelöst setzten ![]()
so ich denke ich hab dein problem gefunden.
probier das mal.
#include <guiconstants.au3>
#include <GuiButton.au3>
#include <ANYGUI.au3> ;v 2.8 fixed
Opt ("WinTitleMatchMode", 4)
WinWait('"(1) LTC" auf')
MsgBox(0, "Test", "Fenster gefunden!") ;Debug Test
$guit = _GuiTarget('"(1) LTC" auf',1)
MsgBox(0, "Test 2", "Fenster handle: " & $guit) ;Debug Test
ControlHide( $guit, "", "TBpBitBtn1") ;Funktioniert
GUISetState ( ) ; muss dazwischen stehen glaub ich
$btn = _TargetaddButton("Verbuchen und Statistik",1579,871,94,75, $guit) ; Funktioniert vielleicht
GUISetState ( ) ; muss sowieso dastehen
While 1
Sleep(50)
WEnd
ZitatJa das könnte es vieleicht wirklich sein, kann es aber erst Montag wieder Testen, sollte das nicht klappen meld ich mich nochmal
es funktioniert sicher nicht ohne dass man das $guit angibt.
so sollte es dann schon funktionieren auser es ist noch iwo ein fehler drinne.
aber das sehen wir ja dann am montag ![]()
ubound gibt die länge eines arrays zurück, quasi wieviele elemente ein array umfasst
bei einem array das von array[0] bis array[30] geht gibt ubound 31 zurück.
ok danke schonmal für die idee mit dem array, werd des heute nachmittag umsetzten
die systemtasten hab ich ja quasi schon ausgeschlossen, da in meiner ini unter Funktion bei diesen nA steht. diese wo nA drinsteht werd ich dann einfach übergehen.
das mit dem listview werd ich wohl lassen weil ich finde dass es mit Buttons/Labels und Inputs besser aussieht. auch wenns vllt umständlicher is.
aber wenn man die Labels usw als Array erstellt gehts schon.
hat jemand noch nen vorschlag wie man die Pressed() Funktion verbessern kann?
sie funktioniert zwar recht gut aber iwie gefällt sie mir nicht so wirklich...
Ansonsten bleibt sie halt so:
Never change a running System ![]()
Erstmal willkommen im forum.
ich versteh nicht ganz genau was du machen willst. Du hast eine Flash datei, also zum Beispiel ein spiel auf einer seite und möchtest dieses Spiel oder was auch immer in einer Gui anzeigen lassen oder wie? und das Gui-Fenster soll dann nur so groß sein wie die Flash datei?
Falls du schon ein bisschen code geschrieben hast isses immer sehr gut wenn du den posten könntest. man versteht dadurch meistens viel schneller was derjenige überhaupt möchte.
falls es "nur" probleme mit den scrollbalken sind könnte dir dieser thread hier helfen
[ gelöst ] hilfe bei scrollbalken
ich denke es liegt ganz einfach daran dass du nicht angibst welchen fenster du den butten hinzufügen möchtest
probier mal und tausche deine zeile nr 10 gegen diese aus:
[autoit]$btn = _TargetaddButton("Verbuchen und Statistik",1579,871,94,75, $guit) ; Funktioniert vielleicht
[/autoit]kein problem, bin auch nich zuhause...
kann leider jetz auch nich sagen an was es liegen könnte. am besten isses wohl du postest dein script wenn du wieder zuhause bist.
hubs fast vergessen:
hier meine IsPressed.ini
[General]
keys=124
version=1
[1]
id=01
Erklärung=Linke Maus
Anzeige=Mouse1
[2]
id=02
Erklärung=Rechte Maus
Anzeige=Mouse2
[3]
id=04
Erklärung=Mittlere Maus
Anzeige=Mouse3
[4]
id=05
Erklärung=X1 Maus
Anzeige=ka
[5]
id=06
Erklärung=X2 Maus
Anzeige=ka
[6]
id=08
Erklärung=Backspace
Anzeige=ka
[7]
id=09
Erklärung=Tabulator
Anzeige=Tab
[8]
id=10
Erklärung=Shift (Umschalt)
Anzeige=Shift
[9]
id=11
Erklärung=CTRL/STRG
Anzeige=Ctrl
[10]
id=12
Erklärung=Alt
Anzeige=ka
[11]
id=13
Erklärung=Pause
Anzeige=ka
[12]
id=14
Erklärung=Feststell
Anzeige=ka
[13]
id=1B
Erklärung=Esc
Anzeige=Esc
[14]
id=20
Erklärung=Leertaste
Anzeige=Space
[15]
id=21
Erklärung=Bild auf
Anzeige=ka
[16]
id=22
Erklärung=Bild ab
Anzeige=ka
[17]
id=23
Erklärung=Ende
Anzeige=ka
[18]
id=24
Erklärung=Pos 1
Anzeige=ka
[19]
id=25
Erklärung=Pfeil links
Anzeige=ka
[20]
id=26
Erklärung=Pfeil oben
Anzeige=ka
[21]
id=27
Erklärung=Pfeil rechts
Anzeige=ka
[22]
id=28
Erklärung=Pfeil unten
Anzeige=ka
[23]
id=29
Erklärung=Auswahltaste
Anzeige=ka
[24]
id=2A
Erklärung=Druck
Anzeige=ka
[25]
id=2B
Erklärung=Ausführen
Anzeige=ka
[26]
id=2C
Erklärung=Druck
Anzeige=ka
[27]
id=2D
Erklärung=Einfügen
Anzeige=ka
[28]
id=2E
Erklärung=Entfernen
Anzeige=ka
[29]
id=30
Erklärung=0
Anzeige=0
[30]
id=31
Erklärung=1
Anzeige=1
[31]
id=32
Erklärung=2
Anzeige=2
[32]
id=33
Erklärung=3
Anzeige=3
[33]
id=34
Erklärung=4
Anzeige=4
[34]
id=35
Erklärung=5
Anzeige=5
[35]
id=36
Erklärung=6
Anzeige=7
[36]
id=37
Erklärung=7
Anzeige=7
[37]
id=38
Erklärung=8
Anzeige=8
[38]
id=39
Erklärung=9
Anzeige=9
[39]
id=41
Erklärung=A
Anzeige=a
[40]
id=42
Erklärung=B
Anzeige=b
[41]
id=43
Erklärung=C
Anzeige=c
[42]
id=44
Erklärung=D
Anzeige=d
[43]
id=45
Erklärung=E
Anzeige=e
[44]
id=46
Erklärung=F
Anzeige=f
[45]
id=47
Erklärung=G
Anzeige=g
[46]
id=48
Erklärung=H
Anzeige=h
[47]
id=49
Erklärung=I
Anzeige=i
[48]
id=4A
Erklärung=J
Anzeige=j
[49]
id=4B
Erklärung=K
Anzeige=k
[50]
id=4C
Erklärung=L
Anzeige=l
[51]
id=4D
Erklärung=M
Anzeige=m
[52]
id=4E
Erklärung=N
Anzeige=n
[53]
id=4F
Erklärung=O
Anzeige=o
[54]
id=50
Erklärung=P
Anzeige=p
[55]
id=51
Erklärung=Q
Anzeige=q
[56]
id=52
Erklärung=R
Anzeige=r
[57]
id=53
Erklärung=S
Anzeige=s
[58]
id=54
Erklärung=T
Anzeige=t
[59]
id=55
Erklärung=U
Anzeige=u
[60]
id=56
Erklärung=V
Anzeige=v
[61]
id=57
Erklärung=W
Anzeige=w
[62]
id=58
Erklärung=X
Anzeige=X
[63]
id=59
Erklärung=Y
Anzeige=y
[64]
id=5A
Erklärung=Z
Anzeige=z
[65]
id=5B
Erklärung=Linke Windows
Anzeige=nA
[66]
id=5C
Erklärung=Rechte Windows
Anzeige=nA
[67]
id=60
Erklärung=Nummernblock 0
Anzeige=ka
[68]
id=61
Erklärung=Nummernblock 1
Anzeige=ka
[69]
id=62
Erklärung=Nummernblock 2
Anzeige=ka
[70]
id=63
Erklärung=Nummernblock 3
Anzeige=ka
[71]
id=64
Erklärung=Nummernblock 4
Anzeige=ka
[72]
id=65
Erklärung=Nummernblock 5
Anzeige=ka
[73]
id=66
Erklärung=Nummernblock 6
Anzeige=ka
[74]
id=67
Erklärung=Nummernblock 7
Anzeige=ka
[75]
id=68
Erklärung=Nummernblock 8
Anzeige=ka
[76]
id=69
Erklärung=Nummernblock 9
Anzeige=ka
[77]
id=6A
Erklärung=Nummernblock *
Anzeige=ka
[78]
id=6B
Erklärung=Nummernblock +
Anzeige=ka
[79]
id=6C
Erklärung=Eingabetaste (Nummernblock???)###################
Anzeige=ka
[80]
id=6D
Erklärung=Nummernblock -
Anzeige=ka
[91]
id=6E
Erklärung=Nummernblock ,
Anzeige=ka
[92]
id=6F
Erklärung=Nummernblock /
Anzeige=ka
[93]
id=70
Erklärung=F1
Anzeige=F1
[94]
id=71
Erklärung=F2
Anzeige=F2
[95]
id=72
Erklärung=F3
Anzeige=F3
[96]
id=73
Erklärung=F4
Anzeige=F4
[97]
id=74
Erklärung=F5
Anzeige=F5
[98]
id=75
Erklärung=F6
Anzeige=F6
[99]
id=76
Erklärung=F7
Anzeige=F7
[100]
id=77
Erklärung=F8
Anzeige=F8
[101]
id=78
Erklärung=F9
Anzeige=F9
[102]
id=79
Erklärung=F10
Anzeige=F10
[103]
id=7A
Erklärung=F11
Anzeige=F11
[104]
id=7B
Erklärung=F12
Anzeige=F12
[105]
id=7C
Erklärung=F13
Anzeige=F13
[106]
id=7D
Erklärung=F14
Anzeige=F14
[107]
id=7E
Erklärung=F15
Anzeige=F15
[108]
id=7F
Erklärung=F16
Anzeige=F16
[109]
id=80H
Erklärung=F17
Anzeige=F17
[110]
id=81H
Erklärung=F18
Anzeige=F18
[111]
id=82H
Erklärung=F19
Anzeige=F19
[112]
id=83H
Erklärung=F20
Anzeige=F20
[113]
id=84H
Erklärung=F21
Anzeige=F21
[114]
id=85H
Erklärung=F22
Anzeige=F22
[115]
id=86H
Erklärung=F23
Anzeige=F23
[116]
id=87H
Erklärung=F24
Anzeige=F24
[117]
id=90
Erklärung=Num
Anzeige=ka
[118]
id=91
Erklärung=Rollen
Anzeige=ka
[119]
id=A0
Erklärung=linke Shift
Anzeige=ka
[120]
id=A1
Erklärung=rechte Shift
Anzeige=ka
[121]
id=A2
Erklärung=linke Ctrl
Anzeige=ka
[122]
id=A3
Erklärung=rechte Ctrl
Anzeige=ka
[123]
id=A4
Erklärung=linke Alt
Anzeige=ka
[124]
id=A5
Erklärung=rechte Alt Gr
Anzeige=ka
Alles anzeigen
hallo leute.
hätte da ein kleines Problem.
und zwar will ich in ein programm von mir optionen einbauen, sodass die user funktionen auf beliebige tasten legen können. ähnlich wie in jeden x-beliebigen spiel quasi.
Erklärung am Spiel-Bsp:
man klickt auf ein Label, nennen wir es mal "Springen" und dann kann man sich die "Springen"-Funktion auf eine Taste legen. d.h. die zuerst eingegebene taste wird der Hotkey, sagen wir mal "Space". Dann wird "Schleichen" angeklickt, wenn der User jetzt wieder "Space" auswählt soll es hier übernommen werden und bei "Springen" gelöscht.
Die meisten werden ja sowas in der art kennen.
Wichtig ist:
-Nicht alle Tasten können verwendet werden (Alt, windows,... gehen nicht)
Ich hab auch nen einigermaßen funktionierenden ansatz nur is das ganze sehr schlampig und kann bestimmt verbessert werden.
Die vereinfachte version:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#Region ### START Koda GUI section ### Form=
GUICreate('Form1', 160, 90)
$input1 = GUICtrlCreateInput('', 50, 16, 100, 21,
BitOR($ES_AUTOHSCROLL,$ES_READONLY))
$erase = GUICtrlCreateButton('löschen', 16, 45, 129, 33, $WS_GROUP)
$HE = GUICtrlCreateLabel('HE', 16, 16, 29, 24)
GUICtrlSetFont(-1, 12, 400, 0, 'MS Sans Serif')
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $erase
GUICtrlSetData($input1, '')
Case $HE
Pressed()
EndSwitch
WEnd
Func Pressed()
$dll = DllOpen("user32.dll")
MouseUp("left")
GUICtrlSetData($input1, '')
GUICtrlSetState($HE, $GUI_DISABLE)
GUICtrlSetState($erase, $GUI_DISABLE)
While GUICtrlRead($input1) = ''
For $i = 1 To IniRead(@ScriptDir & '\IsPressed.ini', 'General', 'keys', '124')
If _IsPressed(IniRead(@ScriptDir & '\IsPressed.ini', $i, 'id', '00')) Then
GUICtrlSetData($input1, IniRead(@ScriptDir & '\IsPressed.ini', $i, 'Anzeige', 'Error'))
EndIf
Next
WEnd
GUICtrlSetState($HE, $GUI_ENABLE)
GUICtrlSetState($erase, $GUI_ENABLE)
DllClose($dll)
EndFunc
Bin für jeden verbesserungsvorschlag dankbar
welche andere funktion haste denn? sowas immer dazuschreiben bitte dann weiß man sofort bescheid...
also ne andere lösung wäre sowas:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ScrollBarConstants.au3>
#Include <GUIScroll.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 400, 150)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Scrollbar_Create($Form1, $SB_VERT, 1000)
Scrollbar_Step(20, $Form1, $SB_VERT)
For $i = 20 to 980 step 20
GUICtrlCreateLabel("Hier Steht ein unwichtiger Text an der Position: " & $i, 10, $i, 380, 15)
Next
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Die GuiScroll.au3:
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.2.13.3 (beta)
Author: Kip
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]#cs
[/autoit] [autoit][/autoit] [autoit]Functions:
[/autoit] [autoit][/autoit] [autoit]Scrollbar_Create($hWnd, $iBar, $iMax)
Scrollbar_Scroll($hWnd, $iBar, $iPos)
Scrollbar_GetPos($hWnd, $iBar)
Scrollbar_Step($iStep, $hWnd=0, $iBar=0)
#CE
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]#Include <GuiScrollBars.au3>
#include<GuiconstantsEx.au3>
#include<WindowsConstants.au3>
#include <ScrollBarConstants.au3>
Global $SCROLL_AMOUNTS[1][3]
$SCROLL_AMOUNTS[0][0] = 1
func Scrollbar_Create($hWnd, $iBar, $iMax)
Local $Size = WinGetClientSize($hWnd)
If $iBar = $SB_HORZ Then
$Size = $Size[0]
ElseIf $iBar = $SB_VERT Then
$Size = $Size[1]
Else
Return 0
EndIf
ReDim $SCROLL_AMOUNTS[UBound($SCROLL_AMOUNTS)+1][3]
$SCROLL_AMOUNTS[UBound($SCROLL_AMOUNTS)-1][0] = $hWnd
$SCROLL_AMOUNTS[UBound($SCROLL_AMOUNTS)-1][1] = $iBar
$SCROLL_AMOUNTS[UBound($SCROLL_AMOUNTS)-1][2] = $SCROLL_AMOUNTS[0][0]
_GUIScrollBars_EnableScrollBar($hWnd, $iBar)
_GUIScrollBars_SetScrollRange($hWnd, $iBar, 0,$iMax-1)
_GUIScrollBars_SetScrollInfoPage($hWnd, $iBar, $Size)
GUIRegisterMsg($WM_VSCROLL, "WM_VSCROLL")
GUIRegisterMsg($WM_HSCROLL, "WM_HSCROLL")
Return $iMax
EndFunc
Func Scrollbar_GetPos($hWnd, $iBar)
Local $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx($hWnd, $iBar)
Return DllStructGetData($tSCROLLINFO, "nPos")
EndFunc
Func Scrollbar_Scroll($hWnd, $iBar, $iPos)
Local $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx($hWnd, $iBar)
$iCurrentPos = DllStructGetData($tSCROLLINFO, "nPos")
DllStructSetData($tSCROLLINFO, "nPos", $iPos)
DllStructSetData($tSCROLLINFO, "fMask", $SIF_POS)
_GUIScrollBars_SetScrollInfo($hWnd, $iBar, $tSCROLLINFO)
If $iBar = $SB_VERT Then
$iRound = 0
for $i = 1 to UBound($SCROLL_AMOUNTS)-1
If $SCROLL_AMOUNTS[$i][0] = $hWnd And $SCROLL_AMOUNTS[$i][1] = $SB_VERT Then
$iRound = $SCROLL_AMOUNTS[$i][2]
EndIf
Next
If Not $iRound Then Return 0
_GUIScrollBars_ScrollWindow($hWnd, 0, Round(($iCurrentPos-$iPos)/$iRound)*$iRound)
ElseIf $iBar = $SB_HORZ Then
$iRound = 0
for $i = 1 to UBound($SCROLL_AMOUNTS)-1
If $SCROLL_AMOUNTS[$i][0] = $hWnd And $SCROLL_AMOUNTS[$i][1] = $SB_HORZ Then
$iRound = $SCROLL_AMOUNTS[$i][2]
EndIf
Next
If Not $iRound Then Return 0
_GUIScrollBars_ScrollWindow($hWnd, Round(($iCurrentPos-$iPos)/$iRound)*$iRound, 0)
Else
Return 0
EndIf
Return 1
EndFunc
Func Scrollbar_Step($iStep, $hWnd=0, $iBar=0)
If not $hWnd or Not $iBar Then
$SCROLL_AMOUNTS[0][0] = $iStep
Return 1
EndIf
$iID = 0
for $i = 1 to UBound($SCROLL_AMOUNTS)-1
If $SCROLL_AMOUNTS[$i][0] = $hWnd And $SCROLL_AMOUNTS[$i][1] = $iBar Then
$iID = $i
ExitLoop
EndIf
Next
If Not $iID Then Return 0
$SCROLL_AMOUNTS[$iID][2] = $iStep
Return 1
EndFunc
Func WM_VSCROLL($hWnd, $Msg, $wParam, $lParam)
#forceref $Msg, $wParam, $lParam
Local $nScrollCode = BitAND($wParam, 0x0000FFFF)
Local $index = -1, $yChar, $yPos
Local $Min, $Max, $Page, $Pos, $TrackPos
; Get all the vertial scroll bar information
Local $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx($hWnd, $SB_VERT)
$Min = DllStructGetData($tSCROLLINFO, "nMin")
$Max = DllStructGetData($tSCROLLINFO, "nMax")
$Page = DllStructGetData($tSCROLLINFO, "nPage")
; Save the position for comparison later on
$yPos = DllStructGetData($tSCROLLINFO, "nPos")
$Pos = $yPos
$TrackPos = DllStructGetData($tSCROLLINFO, "nTrackPos")
$iRound = 0
for $i = 1 to UBound($SCROLL_AMOUNTS)-1
If $SCROLL_AMOUNTS[$i][0] = $hWnd And $SCROLL_AMOUNTS[$i][1] = $SB_VERT Then
$iRound = $SCROLL_AMOUNTS[$i][2]
EndIf
Next
if Not $iRound Then Return $GUI_RUNDEFMSG
Switch $nScrollCode
Case $SB_TOP ; user clicked the HOME keyboard key
DllStructSetData($tSCROLLINFO, "nPos", $Min)
Case $SB_BOTTOM ; user clicked the END keyboard key
DllStructSetData($tSCROLLINFO, "nPos", $Max)
Case $SB_LINEUP ; user clicked the top arrow
DllStructSetData($tSCROLLINFO, "nPos", $Pos - $iRound)
Case $SB_LINEDOWN ; user clicked the bottom arrow
DllStructSetData($tSCROLLINFO, "nPos", $Pos + $iRound)
Case $SB_PAGEUP ; user clicked the scroll bar shaft above the scroll box
DllStructSetData($tSCROLLINFO, "nPos", $Pos - $Page)
Case $SB_PAGEDOWN ; user clicked the scroll bar shaft below the scroll box
DllStructSetData($tSCROLLINFO, "nPos", $Pos + $Page)
Case $SB_THUMBTRACK ; user dragged the scroll box
DllStructSetData($tSCROLLINFO, "nPos", Round($TrackPos/$iRound)*$iRound)
EndSwitch
;~ // Set the position and then retrieve it. Due to adjustments
;~ // by Windows it may not be the same as the value set.
DllStructSetData($tSCROLLINFO, "fMask", $SIF_POS)
_GUIScrollBars_SetScrollInfo($hWnd, $SB_VERT, $tSCROLLINFO)
_GUIScrollBars_GetScrollInfo($hWnd, $SB_VERT, $tSCROLLINFO)
;// If the position has changed, scroll the window and update it
$Pos = DllStructGetData($tSCROLLINFO, "nPos")
If ($Pos <> $yPos) Then
_GUIScrollBars_ScrollWindow($hWnd, 0, $yPos - $Pos)
EndIf
Return $GUI_RUNDEFMSG
[/autoit] [autoit][/autoit] [autoit]EndFunc ;==>WM_VSCROLL
[/autoit] [autoit][/autoit] [autoit]Func WM_HSCROLL($hWnd, $Msg, $wParam, $lParam)
#forceref $Msg, $wParam, $lParam
Local $nScrollCode = BitAND($wParam, 0x0000FFFF)
Local $index = -1, $yChar, $yPos
Local $Min, $Max, $Page, $Pos, $TrackPos
; Get all the vertial scroll bar information
Local $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx($hWnd, $SB_HORZ)
$Min = DllStructGetData($tSCROLLINFO, "nMin")
$Max = DllStructGetData($tSCROLLINFO, "nMax")
$Page = DllStructGetData($tSCROLLINFO, "nPage")
; Save the position for comparison later on
$yPos = DllStructGetData($tSCROLLINFO, "nPos")
$Pos = $yPos
$TrackPos = DllStructGetData($tSCROLLINFO, "nTrackPos")
$iRound = 0
for $i = 1 to UBound($SCROLL_AMOUNTS)-1
If $SCROLL_AMOUNTS[$i][0] = $hWnd And $SCROLL_AMOUNTS[$i][1] = $SB_HORZ Then
$iRound = $SCROLL_AMOUNTS[$i][2]
EndIf
Next
if Not $iRound Then Return $GUI_RUNDEFMSG
Switch $nScrollCode
Case $SB_TOP ; user clicked the HOME keyboard key
DllStructSetData($tSCROLLINFO, "nPos", $Min)
Case $SB_BOTTOM ; user clicked the END keyboard key
DllStructSetData($tSCROLLINFO, "nPos", $Max)
Case $SB_LINEUP ; user clicked the top arrow
DllStructSetData($tSCROLLINFO, "nPos", $Pos - $iRound)
Case $SB_LINEDOWN ; user clicked the bottom arrow
DllStructSetData($tSCROLLINFO, "nPos", $Pos + $iRound)
Case $SB_PAGEUP ; user clicked the scroll bar shaft above the scroll box
DllStructSetData($tSCROLLINFO, "nPos", $Pos - $Page)
Case $SB_PAGEDOWN ; user clicked the scroll bar shaft below the scroll box
DllStructSetData($tSCROLLINFO, "nPos", $Pos + $Page)
Case $SB_THUMBTRACK ; user dragged the scroll box
DllStructSetData($tSCROLLINFO, "nPos", Round($TrackPos/$iRound)*$iRound)
EndSwitch
;~ // Set the position and then retrieve it. Due to adjustments
;~ // by Windows it may not be the same as the value set.
DllStructSetData($tSCROLLINFO, "fMask", $SIF_POS)
_GUIScrollBars_SetScrollInfo($hWnd, $SB_HORZ, $tSCROLLINFO)
_GUIScrollBars_GetScrollInfo($hWnd, $SB_HORZ, $tSCROLLINFO)
;// If the position has changed, scroll the window and update it
$Pos = DllStructGetData($tSCROLLINFO, "nPos")
If ($Pos <> $yPos) Then
_GUIScrollBars_ScrollWindow($hWnd, $yPos - $Pos, 0)
EndIf
Return $GUI_RUNDEFMSG
[/autoit] [autoit][/autoit] [autoit]EndFunc ;==>WM_HSCROLL
[/autoit]hmpf ich depp
wär natürlich leichter gewesen ![]()
is egtl ganz einfach.
brauchst einfach nur den Style
[autoit]$WS_VSCROLL ;0x00200000 Erzeugt ein Fenster mit einem vertikalen Scroll-Balken.
[/autoit](kopiert aus der hilfe, kannst es dir ja da nochmal ansehn
)