Hallo Rapit,
hi,
Ich soll im Auftrag meines Vaters ein Programm schreiben, was die tägliche Zeit dokumentiert, die bestimmte Programme ausgeführt werden.
schau dir hierzu diesen Thread an,
mfg (Auto)Bert
Hallo Rapit,
hi,
Ich soll im Auftrag meines Vaters ein Programm schreiben, was die tägliche Zeit dokumentiert, die bestimmte Programme ausgeführt werden.
schau dir hierzu diesen Thread an,
mfg (Auto)Bert
Hallo NoName,
ZitatautoBert:
Das ist gut =)
Muss ich ein bisschen umbauen aber passt schon.
bedank dich bei BugFix
@kleiner27,
ZitatSchöne sache, der code von BugFix ich kenne da die sache mit ( GUIOnEventMode ) aber da wird ja nicht so schön der klick animiert !
funktioniert im OnEventMode ganz genau so:
[autoit]#include<WindowsConstants.au3>
#include<GUIConstantsEx.au3>
#include<StaticConstants.au3>
Global $pic = 'hilfe.bmp'
Opt('GUIOnEventMode', 1)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]$gui = GUICreate("Test", Default, Default, -1, -1)
GUISetOnEvent($GUI_EVENT_CLOSE, '_Terminate')
$btnPic = GUICtrlCreatePic($pic, 30, 40, 24, 24)
GUICtrlSetOnEvent(-1, '_ButtonClick')
GUISetState()
While 1
Sleep(1000)
WEnd
Func _ButtonClick()
If _AnimButton($gui, $btnPic) Then MsgBox(0, '', 'click')
EndFunc ;==>_ButtonClick
Func _Terminate()
Exit
EndFunc ;==>_Terminate
;==================================================================================================
; Function Name: _AnimButton($IDgui, $IDbtn [, $delay=150])
; Description: animiert ein Pic, wie einen geklickten Button
; Parameter(s): $IDgui ID der GUI
; $IDbtn ID des Picture als Button
; Authot: BugFix
;==================================================================================================
Func _AnimButton($IDgui, $IDbtn)
Local $pos = ControlGetPos($IDgui, '', $IDbtn)
Local $pWin = WinGetPos(GUICtrlGetHandle($IDbtn))
ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1] + 1, $pos[2] - 1, $pos[3] - 1)
Local $tmpGui = GUICreate('', $pos[2], $pos[3], $pWin[0], $pWin[1], $WS_POPUP, $WS_EX_TOOLWINDOW)
WinSetTrans($tmpGui, '', 120)
GUISetState(@SW_SHOWNOACTIVATE, $tmpGui)
$return = 1
Do
$x = GUIGetCursorInfo($IDgui)
If $x[4] <> $IDbtn Then $return = 0
Sleep(10)
Until $x[2] = 0
GUIDelete($tmpGui)
ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1], $pos[2], $pos[3])
Return $return
EndFunc ;==>_AnimButton
Oder siehst du einen Unterschied bei der Animation ![]()
mfg (Auto)Bert
Hallo DeepRed92,
lade dir mal die beiden AU3 Files aus [WERBUNG] Funktion zur Osterberechnung jetzt als UDF und modalem Meldungsfenster [/WERBUNG] herunter. In diesem Demo-Projekt benutze ich die Technik im Parent-Fenster eine Child-GUI zu ezeugen und diese bei Bedarf ein- bzw. auszublenden, ob das allerdings auch mit Fenstern aus Fremdanwendungen funktioniert weiss ich nicht
mfg (Auto)Bert
hALLO FLO;
der jedoch evtl. schon die Verbindungsdaten versteckt hat, sodass ich ihn weitergeben kann und so niemand den FTP username/passwork kennt.
eigene Verbindugsdaten solltest du nie aus der Hand geben und auch nicht in einer EXE hinterlegen,
mfg (Auto)Bert
Hallo NoName,
Wenn man beim Beispielsscript halt auf den Button klickt, passiert optisch gesehen nichts, klar werden die Funktionen ausgeführt, aber man soll auch wie sonst den Effekt sehen, oder einen anderen.
Dein Beispielskript funktioniert bei mir einwandfrei. Da es nicht um den Hoover- sondern um den Click-Effekt handelt kannst du aber auch das Skript
von BugFix einsetzen, es erlaubt Bitmaps wie Buttons (nur ohne Beschriftung) einzusetzen:
#include<WindowsConstants.au3>
#include<GUIConstantsEx.au3>
#include<StaticConstants.au3>
Global $pic = 'hilfe.bmp'
$gui = GUICreate("Test",Default,Default,-1,-1)
$btnPic = GUICtrlCreatePic($pic, 30, 40, 24, 24)
$btnPic2 = GUICtrlCreatePic($pic, 30, 40, 24, 24)
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $btnPic
If _AnimButton($gui, $btnPic) Then MsgBox(0, '', 'click')
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
;==================================================================================================
; Function Name: _AnimButton($IDgui, $IDbtn [, $delay=150])
; Description: animiert ein Pic, wie einen geklickten Button
; Parameter(s): $IDgui ID der GUI
; $IDbtn ID des Picture als Button
; Authot: BugFix
;==================================================================================================
Func _AnimButton($IDgui, $IDbtn)
Local $pos = ControlGetPos($IDgui, '', $IDbtn)
Local $pWin = WinGetPos(GUICtrlGetHandle($IDbtn))
ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1]+1, $pos[2]-1, $pos[3]-1)
Local $tmpGui = GUICreate('', $pos[2], $pos[3], $pWin[0], $pWin[1], $WS_POPUP,$WS_EX_TOOLWINDOW)
WinSetTrans($tmpGui, '', 120)
GUISetState(@SW_SHOWNOACTIVATE, $tmpGui)
$return = 1
Do
$x = GUIGetCursorInfo($IDgui)
If $x[4] <> $IDbtn Then $return = 0
Sleep(10)
Until $x[2] = 0
GUIDelete($tmpGui)
ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1], $pos[2], $pos[3])
Return $return
EndFunc ;==> _AnimButton
mfg (Auto)Bert
Hallo RapIt,
poste bitte dein bisheriges Skript, dann ist es einfacher Unterstützung zu geben. Falls du GDI+ einsetzt schau dir die Hilfe zu _GDIPlus_MatrixRotate an,
mfg (Auto)Bert
alles Gute zu deinem 19. Geburtstag Einen grossen
mfg (Auto)Bert
Hallo NoName,
poste doch bitte dein Skript, damit man den Fehler nachvollziehen kann. Das Beispiel zu GUICtrlSetImage funktioniert einwandfrei,
mfg (Auto)Bert
Hallo MasterOfTime,
lade dir mal die beiden AU3 Files aus [WERBUNG] Funktion zur Osterberechnung jetzt als UDF und modalem Meldungsfenster [/WERBUNG] herunter. In diesem Demo-Projekt benutze ich die Technik im Parent-Fenster eine Child-GUI zu ezeugen und diese bei Bedarf ein- bzw. auszublenden,
mfg (Auto)Bert
Hallo Raupi
ZitatautoBert,
warum hast du die Hintergrundfarben geändert und die Gui´s so komisch verschoben?
Ich habe mal die Hintergrundfarbe wieder auf Standard gesetzt und die Positionen angepaßt.
Sah irgendwie ein bischen zu verschoben aus. Sonst habe ich deinen Quellcode nicht verändert.
Die Hintergrundfarbe habe ich vergessen herauszunehmen zu den Psoitionen siehe:
Durch das platzieren der Controls auf ChildGUIs hat sich deren Position verändert, diese kannst du dir ja selbst anpassen,
mfg (Auto)Bert
'Hallo Reaker,
kann mich den vorhergehenden Posts nur anschliessen, es ist sinnvoller die Controlls nicht zu löschen stattdessen solltest du sie nur zu verstecken. Das Chaos mit der Zuordnung IMHO wird dadurch ausgelöst, dass du Varaiblen an verschiedenen Stellen global und dadurch auch mehrfach definierst. Z.B.: $Form6_Group3_Button3 ist in der Func _updateshow global definiert und auch in der Func _updatehide.
Ich habe mir die Mühe gemacht dein Skript abzuändern. Ich lege die Controlls auf ChildGUIs und blende diese bei Bedarf ein bzw. aus.
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.0.0
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]; Script Start - Add your code below here
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars',1)
[/autoit] [autoit][/autoit] [autoit]Global $hGuiChild[6] ;HilfsGUIs
Global $iaktChild = -999 ;zum Speichrn der zurzeit aktiven ChildGUI, -999 = keine aktiv
Global $Form6_Group2_Label1 = -999
[/autoit] [autoit][/autoit] [autoit]Global $hGuiMain_Icon1
Global $hGuiMain = GUICreate("Extras", 573, 344); , 791, 473)
Global $Button1 = GUICtrlCreateButton("&OK", 332, 314, 75, 25, $WS_GROUP)
Global $Button4 = GUICtrlCreateButton("&Übernehmen", 412, 314, 75, 25, $WS_GROUP)
Global $Button2 = GUICtrlCreateButton("&Abbrechen", 492, 314, 75, 25, $WS_GROUP)
Global $TreeView1 = GUICtrlCreateTreeView(18, 15, 133, 190)
Global $TreeView1_0 = GUICtrlCreateTreeViewItem("Allgemein", $TreeView1)
Global $TreeView1_1 = GUICtrlCreateTreeViewItem("Update", $TreeView1)
Global $TreeView1_2 = GUICtrlCreateTreeViewItem("Import/Export", $TreeView1)
Global $TreeView1_3 = GUICtrlCreateTreeViewItem("Erscheinungsbild", $TreeView1)
Global $TreeView1_4 = GUICtrlCreateTreeViewItem("Passwort", $TreeView1)
;Global $TreeView1_5 = GUICtrlCreateTreeViewItem("Sonstiges", $TreeView1)
Global $Topic = GUICtrlCreateLabel("Allgemein", 156, 9, 412, 24, $SS_CENTER)
GUICtrlSetFont(-1, 12, 400, 4, "MS Reference Sans Serif")
For $i = 1 To 5
$hGuiChild[$i] = -999 ;= noch nicht erzeugt
_CreateChild($i) ;ChildGuis werden erzeugt
Next
_allgemeinshow()
GUISetState(@SW_SHOW, $hGuiMain)
#EndRegion ### END Koda GUI section ###
While 1
Local $nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Form6_Group2_Label1
MsgBox(0, "", "hilfedatei mit faktor")
Case $TreeView1_0
If $iaktChild > 0 Then GUISetState(@SW_HIDE, $hGuiChild[$iaktChild])
_allgemeinshow()
GUICtrlSetData($Topic, "")
GUICtrlSetData($Topic, "Allgemein")
Case $TreeView1_1
If $iaktChild > 0 Then GUISetState(@SW_HIDE, $hGuiChild[$iaktChild])
_updateshow()
GUICtrlSetData($Topic, "")
GUICtrlSetData($Topic, "Update")
Case $TreeView1_2
If $iaktChild > 0 Then GUISetState(@SW_HIDE, $hGuiChild[$iaktChild])
_importexportshow()
GUICtrlSetData($Topic, "")
GUICtrlSetData($Topic, "Import/Export")
Case $TreeView1_3
If $iaktChild > 0 Then GUISetState(@SW_HIDE, $hGuiChild[$iaktChild])
_erscheinungsbildshow()
GUICtrlSetData($Topic, "")
GUICtrlSetData($Topic, "Erscheinungsbild")
Case $TreeView1_4
If $iaktChild > 0 Then GUISetState(@SW_HIDE, $hGuiChild[$iaktChild])
_passwortshow()
GUICtrlSetData($Topic, "")
GUICtrlSetData($Topic, "Passwort")
EndSwitch
WEnd
Exit
Func _CreateChild($iChildNo)
Switch $iChildNo
Case 1
_allgemeinshow()
Case 2
_updateshow()
Case 3
_importexportshow()
Case 4
_erscheinungsbildshow()
Case 5
_passwortshow()
EndSwitch
EndFunc ;==>_CreateChild
Func _allgemeinshow()
If $hGuiChild[1] < 0 Then
$hGuiChild[1] = GUICreate("", 500, 300, 170, 38, BitOR($WS_CHILD, $WS_TABSTOP), -1, $hGuiMain)
GUISetBkColor(0xA6CFFF)
ConsoleWrite("Allgemein wird erzeugt" & @CRLF)
Global $Form6_Group1 = GUICtrlCreateGroup("Fenster", 183, 42, 286, 85)
Global $Form6_Group1_Label1 = GUICtrlCreateLabel("Transparenz", 198, 63, 63, 17)
Global $Form6_Group1_Slider1 = GUICtrlCreateSlider(264, 60, 163, 22)
GUICtrlSetLimit(-1, 255, 0)
Global $Form6_Group1_Label2 = GUICtrlCreateLabel("Fenstertitel", 198, 93, 55, 17)
Global $Form6_Group1_Input1 = GUICtrlCreateInput("%version%", 270, 90, 151, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Form6_Group2 = GUICtrlCreateGroup("Berechnung", 183, 135, 280, 151)
Global $Form6_Group2_Label1 = GUICtrlCreateLabel("Faktor der Notenbereiche", 201, 156, 125, 17)
GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor(-1, 4)
Global $Form6_Group2_Label2 = GUICtrlCreateLabel("Schulaufgaben", 216, 186, 76, 17)
Global $Form6_Group2_Label3 = GUICtrlCreateLabel("Extemporalen", 216, 210, 68, 17)
Global $Form6_Group2_Label4 = GUICtrlCreateLabel("Sonstige Noten", 216, 234, 77, 17)
Global $Form6_Group2_Input1 = GUICtrlCreateInput("2", 309, 183, 28, 21, BitOR($ES_AUTOHSCROLL, $ES_NUMBER))
Global $Form6_Group2_Input2 = GUICtrlCreateInput("1", 309, 207, 28, 21, BitOR($ES_AUTOHSCROLL, $ES_NUMBER))
Global $Form6_Group2_Input3 = GUICtrlCreateInput("1", 309, 231, 28, 21, BitOR($ES_AUTOHSCROLL, $ES_NUMBER))
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlSetCursor(-1, 7)
Global $Form6_Icon1 = GUICtrlCreateIcon("D:\Marcel\Sonstiges\Skripte\Autoit3\note\4.00\Icons\configure.ico", -1, 24, 219, 99, 99, BitOR($SS_NOTIFY, $WS_GROUP))
Else
ConsoleWrite("Allgemein wird angezeigt" & @CRLF)
GUISetState(@SW_SHOW, $hGuiChild[1])
EndIf
$iaktChild = 1
EndFunc ;==>_allgemeinshow
#cs jetzt unnötig da in MsgLoop-Schleife behandelt
Func _allgemeinhide()
GUISetState(@SW_HIDE, $hGuiChild[1])
ConsoleWrite("Allgemein wird versteckt" & @CRLF)
EndFunc ;==>_allgemeinhide
#ce
Func _updateshow()
If $hGuiChild[2] < 0 Then
$hGuiChild[2] = GUICreate("", 500, 300, 170, 38, BitOR($WS_CHILD, $WS_TABSTOP), -1, $hGuiMain)
GUISetBkColor(0xA6CFFF)
ConsoleWrite("Update wird erzeugt" & @CRLF)
Global $hGuiMain_Group3 = GUICtrlCreateGroup("Einstellungen", 159, 42, 325, 109)
Global $hGuiMain_Group3_Checkbox1 = GUICtrlCreateCheckbox("automatisch nach Updates suchen", 171, 81, 193, 19)
Global $hGuiMain_Group3_Radio1 = GUICtrlCreateRadio("Bei Programmstart", 189, 99, 109, 19)
Global $hGuiMain_Group3_Radio2 = GUICtrlCreateRadio("Bei Windowsstart", 189, 120, 103, 13)
Global $hGuiMain_Group3_Checkbox2 = GUICtrlCreateCheckbox("Änderungen anzeigen", 171, 63, 121, 16)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $hGuiMain_Group3_Button3 = GUICtrlCreateButton("nach Update suchen:", 162, 180, 124, 22, $WS_GROUP)
Global $hGuiMain_Group3_Label2 = GUICtrlCreateLabel("Es wurde eine neue Version gefunden!", 303, 183, 187, 17)
Global $hGuiMain_Icon1 = GUICtrlCreateIcon("D:\Marcel\Sonstiges\Skripte\Autoit3\note\4.00\Icons\webexport.ico", -1, 24, 219, 99, 99, BitOR($SS_NOTIFY, $WS_GROUP))
Else
ConsoleWrite("Update wird angezeigt" & @CRLF)
GUISetState(@SW_SHOW, $hGuiChild[2])
EndIf
$iaktChild = 2; $hGuiChild[2]
EndFunc ;==>_updateshow
#cs jetzt unnötig da in MsgLoop-Schleife behandelt
Func _updatehide()
GUISetState(@SW_HIDE, $hGuiChild[2])
ConsoleWrite("Update wird versteckt" & @CRLF)
EndFunc ;==>_updatehide
#ce
Func _importexportshow()
If $hGuiChild[3] < 0 Then
$hGuiChild[3] = GUICreate("", 500, 300, 170, 38, BitOR($WS_CHILD, $WS_TABSTOP), -1, $hGuiMain)
GUISetBkColor(0xA6CFFF)
ConsoleWrite("Import Export wird erzeugt" & @CRLF)
Global $Form6_Group4 = GUICtrlCreateGroup("Datensicherung", 162, 39, 400, 127)
Global $Form6_Group4_Label1 = GUICtrlCreateLabel("Benutzer", 183, 63, 46, 17)
Global $Form6_Group4_List1 = GUICtrlCreateList("", 168, 81, 94, 71)
Global $Form6_Group4_List2 = GUICtrlCreateList("", 306, 81, 94, 71, BitOR($LBS_SORT, $LBS_MULTIPLESEL, $WS_BORDER))
Global $Form6_Group4_Label2 = GUICtrlCreateLabel("Jahrgang", 327, 63, 48, 17)
Global $Form6_Group4_Button1 = GUICtrlCreateButton("->", 270, 105, 25, 25, $WS_GROUP)
Global $Form6_Group4_Button2 = GUICtrlCreateButton("Sichern", 417, 111, 67, 22, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Form6_Group5 = GUICtrlCreateGroup("Daten Import", 162, 168, 400, 139)
Global $Form6_Group5_Input1 = GUICtrlCreateInput("C:\Program Files\", 174, 186, 277, 21)
Global $Form6_Group5_Button1 = GUICtrlCreateButton("Durchsuchen", 462, 186, 88, 19, $WS_GROUP)
Global $Form6_Group5_Label1 = GUICtrlCreateLabel("Bitte den zu imporierenden Jahrgang wählen (auch mehr auswählbar)", 174, 210, 329, 17)
Global $Form6_Group5_List1 = GUICtrlCreateList("", 174, 231, 94, 71, BitOR($LBS_SORT, $LBS_MULTIPLESEL, $WS_BORDER))
Global $Form6_Group5_Button2 = GUICtrlCreateButton("Import", 486, 282, 64, 19, $WS_GROUP)
Global $Form6_Icon1 = GUICtrlCreateIcon("D:\Marcel\Sonstiges\Skripte\Autoit3\note\4.00\Icons\editpaste.ico", -1, 24, 219, 99, 99, BitOR($SS_NOTIFY, $WS_GROUP))
Else
ConsoleWrite("Import Export wird angezeigt" & @CRLF)
GUISetState(@SW_SHOW, $hGuiChild[3])
EndIf
$iaktChild = 3;
EndFunc ;==>_importexportshow
[/autoit] [autoit][/autoit] [autoit]#cs jetzt unnötig da in MsgLoop-Schleife behandelt
Func _importexporthide()
ConsoleWrite("Import Export wird angezeigt" & @CRLF)
GUISetState(@SW_HIDE, $hGuiChild[3])
EndFunc ;==>_importexporthide
#ce
Func _erscheinungsbildshow()
If $hGuiChild[4] < 0 Then
$hGuiChild[4] = GUICreate("", 500, 300, 170, 38, BitOR($WS_CHILD, $WS_TABSTOP), -1, $hGuiMain)
GUISetBkColor(0xA6CFFF)
ConsoleWrite("Erscheinungsbild wird erzeugt" & @CRLF)
Global $hGuiMain_Group6 = GUICtrlCreateGroup("Vordefinierte Hintergrundfarben", 162, 42, 187, 79)
Global $hGuiMain_Group6_Button1 = GUICtrlCreateButton("Blau", 171, 69, 76, 19, $WS_GROUP)
GUICtrlSetBkColor(-1, 0xA6CAF0)
Global $hGuiMain_Group6_Button2 = GUICtrlCreateButton("Grün", 261, 69, 67, 19, $WS_GROUP)
GUICtrlSetBkColor(-1, 0xC0DCC0)
Global $hGuiMain_Group6_Button3 = GUICtrlCreateButton("Creme", 171, 90, 76, 19, $WS_GROUP)
GUICtrlSetBkColor(-1, 0xFFFBF0)
Global $hGuiMain_Group6_Button4 = GUICtrlCreateButton("Grau", 261, 90, 67, 19, $WS_GROUP)
GUICtrlSetBkColor(-1, 0xBFCDDB)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $hGuiMain_Group7 = GUICtrlCreateGroup("Farben wählen", 162, 129, 172, 112)
Global $hGuiMain_Group7_Button1 = GUICtrlCreateButton("Hintergrundfarbe wählen", 171, 147, 130, 22, $WS_GROUP)
Global $hGuiMain_Group7_Button2 = GUICtrlCreateButton("Schriftfarbe wählen", 171, 171, 130, 22, $WS_GROUP)
Global $hGuiMain_Group7_Button3 = GUICtrlCreateButton("Linkfarbe wählen", 171, 195, 130, 22, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $hGuiMain_Group8 = GUICtrlCreateGroup("So sieht es aus", 351, 126, 193, 115)
Global $hGuiMain_Group8_Graphic1 = GUICtrlCreateGraphic(354, 138, 187, 100)
GUICtrlSetBkColor(-1, 0xA6CAF0)
Global $hGuiMain_Group8_Label1 = GUICtrlCreateLabel("Testschriftart", 369, 150, 65, 17)
GUICtrlSetBkColor(-1, 0xA6CAF0)
Global $hGuiMain_Group8_Label2 = GUICtrlCreateLabel("Textlink", 375, 180, 49, 17)
GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetBkColor(-1, 0xA6CAF0)
GUICtrlSetCursor(-1, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $hGuiMain_Icon1 = GUICtrlCreateIcon("D:\Marcel\Sonstiges\Skripte\Autoit3\note\4.00\Icons\appearance.ico", -1, 24, 219, 99, 99, BitOR($SS_NOTIFY, $WS_GROUP))
Else
ConsoleWrite("Erscheinungsbild wird angezeigt" & @CRLF)
GUISetState(@SW_SHOW, $hGuiChild[4])
EndIf
$iaktChild = 4;
EndFunc ;==>_erscheinungsbildshow
#cs jetzt unnötig da in MsgLoop-Schleife behandelt
Func _erscheinungsbildhide()
ConsoleWrite("Erscheinungsbild wird versteckt" & @CRLF)
GUISetState(@SW_HIDE, $hGuiChild[4])
EndFunc ;==>_erscheinungsbildhide
#ce
Func _passwortshow()
If $hGuiChild[5] < 0 Then
$hGuiChild[5] = GUICreate("", 500, 300, 170, 38, BitOR($WS_CHILD, $WS_TABSTOP), -1, $hGuiMain)
GUISetBkColor(0xA6CFFF)
ConsoleWrite("Passwort wird erzeugt" & @CRLF)
Global $hGuiMain_Group9 = GUICtrlCreateGroup("neues Passwort", 165, 42, 367, 199)
Global $hGuiMain_Group9_Label1 = GUICtrlCreateLabel("Benutzer:", 186, 60, 49, 17)
Global $hGuiMain_Group9_Combo1 = GUICtrlCreateCombo("Bitte wählen", 246, 57, 106, 25)
Global $hGuiMain_Group9_Label2 = GUICtrlCreateLabel("Passwort", 189, 87, 47, 17)
Global $hGuiMain_Group9_Input1 = GUICtrlCreateInput("", 246, 84, 133, 21, BitOR($ES_PASSWORD, $ES_AUTOHSCROLL))
Global $hGuiMain_Group9_Input2 = GUICtrlCreateInput("", 246, 108, 133, 21, BitOR($ES_PASSWORD, $ES_AUTOHSCROLL))
Global $hGuiMain_Group9_Label3 = GUICtrlCreateLabel("wiederholen", 174, 111, 61, 17)
Global $hGuiMain_Group9_Label4 = GUICtrlCreateLabel("Sicherheitsfrage", 171, 135, 80, 17)
Global $hGuiMain_Group9_Input2 = GUICtrlCreateInput("Anwort", 264, 159, 190, 21)
Global $hGuiMain_Group9_input3 = GUICtrlCreateInput("Frage stellen, z.b. Mein Lieblingsspiel?", 264, 135, 190, 21)
Global $hGuiMain_Group9_Button1 = GUICtrlCreateButton("Erstellen", 435, 204, 73, 22, $WS_GROUP)
Global $hGuiMain_Icon1 = GUICtrlCreateIcon("D:\Marcel\Sonstiges\Skripte\Autoit3\note\4.00\Icons\personal.ico", -1, 24, 219, 99, 99, BitOR($SS_NOTIFY, $WS_GROUP))
GUICtrlCreateGroup("", -99, -99, 1, 1)
Else
ConsoleWrite("Passwort wird angezeigt" & @CRLF)
GUISetState(@SW_SHOW, $hGuiChild[5])
EndIf
$iaktChild = 5; $hGuiChild[5]
EndFunc ;==>_passwortshow
#cs jetzt unnötig da in MsgLoop-Schleife behandelt
Func _passworthide()
ConsoleWrite("Passwort wird versteckt" & @CRLF)
GUISetState(@SW_HIDE, $hGuiChild[5])
EndFunc ;==>_passworthide
#ce
Die Variable $Form6_Group2_Label1 habe ich bereits am Anfang global definiert, die anderen (die eine Aktion auslösen sollen) musst du noch deklarieren. Durch das platzieren der Controls auf ChildGUIs hat sich deren Position verändert, diese kannst du dir ja selbst anpassen,
mfg (Auto)Bert
Hallo chip,
dieses Beispiel aus der Hilfe löst das Problem:
#include <GuiConstantsEx.au3>
#include <Date.au3>
#include <WindowsConstants.au3>
Global $iMemo
_Main()
Func _Main()
Local $hGUI, $tLocal, $tSystem
; Create GUI
$hGUI = GUICreate("Time", 400, 300)
$iMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
GUISetState()
; Convert system time to local time
$tSystem = _Date_Time_GetSystemTime()
$tLocal = _Date_Time_SystemTimeToTzSpecificLocalTime(DllStructGetPtr($tSystem))
MemoWrite("System time to local time .: " & _Date_Time_SystemTimeToDateTimeStr($tLocal ))
$tLocal = _Date_Time_GetLocalTime()
$tSystem = _Date_Time_TzSpecificLocalTimeToSystemTime(DllStructGetPtr($tLocal))
MemoWrite("Local time to system time .: " & _Date_Time_SystemTimeToDateTimeStr($tSystem))
; Loop until user exits
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
; Write a line to the memo control
Func MemoWrite($sMessage)
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite[/autoit]
mfg (Auto)Bert
Hallo sc4ry,
schau dir mal diesen Thread von funkey bzw. diesen von BugFix an. Ich habe beide zwar noch nicht getestet, es könnte aber dass sein was du suchst.
mfg (Auto)Bert
Hallo tklausl,
schau dir mal dieses kleine Skript an:
#NoTrayIco
#include <Constants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt('GUIOnEventMode', 1)
Opt('TrayOnEventMode', 1)
Opt('TrayMenuMode', 1)
$hGui = GUICreate('Test', 300, 300)
GUISetOnEvent($GUI_EVENT_CLOSE, '_Exit')
GUISetOnEvent($GUI_EVENT_MINIMIZE, '_Minimize')
TraySetOnEvent($TRAY_EVENT_MOUSEOVER, '_Restore')
GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
Sleep(2000)
WEnd
Func _Exit()
Exit
EndFunc
Func _Minimize()
TraySetState(1)
GUISetState(@SW_HIDE)
EndFunc
Func _Restore()
TraySetState(2)
GUISetState(@SW_SHOW)
EndFunc
musst du halt auf dich anpassen,
mfg (Auto)Bert
Hallo tkausl,
ich weiss zwar nicht ob meine Glaskugel recht hat, aber eigentlich müste es reichen, wenn du mit
[autoit]GUISetState(@SW_HIDE,$DeineGui)
[/autoit]die Gui versteckst, Ansonsten poste dein bisheriges Skript,
mfg (Auto)Bert
hallo kleiner27,
probier es mal so:
#include <ScrollBarConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiButton.au3>
#include <StructureConstants.au3>
#include <GUIScrollBars.au3>
#include <Date.au3>
Opt('GUIOnEventMode', 1)
Global $pichinetgo = @ScriptDir & '\5-r.gif'
$Gui = GUICreate('', 1003, 600, -1, -1)
GUISetBkColor(0xFFFACD, $Gui)
GUISetOnEvent(-3, '_Exit')
Local $arTage[31][2]
$x = 176 ; +22
For $i = 0 To 30
$arTage[$i][0] = GUICtrlCreateInput(StringRight('0' & $i + 1, 2), $x, 20, 21, 20)
$arTage[$i][1] = GUICtrlCreateInput('', $x, 41, 21, 20)
$x += 22
Next
Local $aschTage[31][2]
$x = 176 ; +22
For $i = 0 To 30
$aschTage[$i][0] = GUICtrlCreateInput('', $x, 90, 21, 20)
$aschTage[$i][1] = GUICtrlCreateInput('', $x, 111, 21, 20)
$x += 22
Next
Local $aschTage[31][12]
$x = 176 ; +22
$y = 90
For $i = 0 To 30
$aschTage[$i][0] = GUICtrlCreateInput('', $x, 90, 21, 20)
$aschTage[$i][1] = GUICtrlCreateInput('', $x, 111, 21, 20)
GUICtrlCreateInput('', $x, $y, 21, 20)
GUICtrlCreateInput('', $x, $y, 21, 20)
$x += 22
$y += 21
Next
GUIRegisterMsg($WM_VSCROLL, "WM_VSCROLL")
_GUIScrollBars_Init($Gui)
GUISetState()
Func _Exit()
Exit
EndFunc ;==>_Exit
Local $Color = 0x000000
While 1
Sleep(10)
WEnd
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
For $x = 0 To UBound($aSB_WindowInfo) - 1
If $aSB_WindowInfo[$x][0] = $hWnd Then
$index = $x
$yChar = $aSB_WindowInfo[$index][2]
ExitLoop
EndIf
Next
If $index = -1 Then Return 0
; Ermittelt alle Informationen der vertikalen Scrollbar
Local $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx($hWnd, $SB_VERT)
$Min = DllStructGetData($tSCROLLINFO, "nMin")
$Max = DllStructGetData($tSCROLLINFO, "nMax")
$Page = DllStructGetData($tSCROLLINFO, "nPage")
$yPos = DllStructGetData($tSCROLLINFO, "nPos")
$TrackPos = DllStructGetData($tSCROLLINFO, "nTrackPos")
; Speichert die y-Position für einen späteren Vergleich
$Pos = $yPos
; Auswertung der vom System gemeldeten Scroll-Nachricht
Switch $nScrollCode
Case $SB_TOP ; Der Anwender klickte auf die "Pos1"-Taste
DllStructSetData($tSCROLLINFO, "nPos", $Min)
Case $SB_BOTTOM ; Der Anwender klickte auf die "Ende"-Taste
DllStructSetData($tSCROLLINFO, "nPos", $Max)
Case $SB_LINEUP ; Der Anwender klickte auf den oberen Pfeil
DllStructSetData($tSCROLLINFO, "nPos", $Pos - 1)
Case $SB_LINEDOWN ; Der Anwender klickte auf den unteren Pfeil
DllStructSetData($tSCROLLINFO, "nPos", $Pos + 1)
Case $SB_PAGEUP ; Der Anwender klickte oberhalb des Scrollbalkens
DllStructSetData($tSCROLLINFO, "nPos", $Pos - $Page)
Case $SB_PAGEDOWN ; Der Anwender klickte unterhalb des Scrollbalkens
DllStructSetData($tSCROLLINFO, "nPos", $Pos + $Page)
Case $SB_THUMBTRACK ; Der Anwender zog den Scrollbalken
DllStructSetData($tSCROLLINFO, "nPos", $TrackPos)
EndSwitch
;~ // Setzt die neue Position und ermittelt sie danach erneut.
;~ // Abhängig von den Windows-Einstellungen kann es sein, dass die gelesenen Werte nicht die gleichen sind, wie die vorher gesetzten.
DllStructSetData($tSCROLLINFO, "fMask", $SIF_POS)
_GUIScrollBars_SetScrollInfo($hWnd, $SB_VERT, $tSCROLLINFO)
_GUIScrollBars_GetScrollInfo($hWnd, $SB_VERT, $tSCROLLINFO)
; // Falls sich die y-Position der Scrollbar geändert hat, den Fensterbereich verschieben und aktualisieren
$Pos = DllStructGetData($tSCROLLINFO, "nPos")
If ($Pos <> $yPos) Then
_GUIScrollBars_ScrollWindow($hWnd, 0, $yChar * ($yPos - $Pos))
$yPos = $Pos
EndIf
Return $GUI_RUNDEFMSG
[/autoit] [autoit][/autoit] [autoit]EndFunc ;==>WM_VSCROLL
[/autoit]Großes Problem => einfache Lösung: ich habe nur GuiSetState verschoben
mfg (Auto)Bert
Hallo Trojan,
Alles anzeigenBei diesem Script kommt immer :
Spoiler anzeigen
>C:\Spiele\AutoIt3\SciTE\..\au3check.exe "C:\Users\TC\Desktop\Skripte\Nerver3000\HomerChatter.au3"
AutoIt3 Syntax Checker v1.54.8 Copyright (c) Tylo 2007C:\Users\TC\Desktop\Skripte\Nerver3000\HomerChatter.au3(143,31) : WARNING: $set1name: possibly used before declaration.
$set1 = GUICtrlRead($set1name)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\TC\Desktop\Skripte\Nerver3000\HomerChatter.au3(144,31) : WARNING: $set2name: possibly used before declaration.
$set2 = GUICtrlRead($set2name)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\TC\Desktop\Skripte\Nerver3000\HomerChatter.au3(145,30) : WARNING: $set1ip: possibly used before declaration.
$set1i = GUICtrlRead($set1ip)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\TC\Desktop\Skripte\Nerver3000\HomerChatter.au3(146,30) : WARNING: $set2ip: possibly used before declaration.
$set2i = GUICtrlRead($set2ip)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\TC\Desktop\Skripte\Nerver3000\HomerChatter.au3(147,28) : WARNING: $Radio1: possibly used before declaration.
$Rad = GUICtrlRead($Radio1)
~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\TC\Desktop\Skripte\Nerver3000\HomerChatter.au3(156,51) : ERROR: syntax error
IniWrite("Config.ini","Namen","2Name",""&$set2""
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\TC\Desktop\Skripte\Nerver3000\HomerChatter.au3(159,32) : WARNING: $Form1_1: possibly used before declaration.
GUISetState(@SW_HIDE,$Form1_1)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\TC\Desktop\Skripte\Nerver3000\HomerChatter.au3(143,31) : ERROR: $set1name: undeclared global variable.
$set1 = GUICtrlRead($set1name)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\TC\Desktop\Skripte\Nerver3000\HomerChatter.au3 - 2 error(s), 6 warning(s)
>Exit code: 2 Time: 0.420
.
.Die Fehlermeldungen sagen doch ganz genau was falsch ist:
CodeERROR: $set1name: undeclared global variable. $set1 = GUICtrlRead($set1name) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^die globale Variable $set1name ist undeklariert, d. h. du musst sie einmal vor der ersten Verwendung global deklarieren üblicherweise direkt nach #include und Opt also zwischen Zeile 24 und 26. Die Warnings solltest du ebenso behandeln.
[autoit]
#include <XYz.au3> steht üblicherweise am Anfang des Skriptes, danach folgen die Options, hie solltest duOpt('MustDeclareVars',1)
[/autoit]einfügen, damit kannst du eventuelle Tippfehlerleichter frühzeitig erkennen (Achtung: aus WARNINGs werden ERRORs),
mfg (Auto)Bert
Brauch keine schnellen Antworten bin 2wochen in Urlaub
Hallo PCKing,
stell dein Skript direkt in dem Beitrag (mit Spoiler- und AutoIt-TAGs) ein, dann bekommst du schneller Hilfe, da man das Skript auch online sichten kann. Der Link funktioniert übrigens nicht, aber auch dafür gibt es spezielle TAGs
Edit: sehe gerade, dies ist dein 1. Beitrag, herzlich willkommen im Forum. Die TAGs befinden sich direkt über dem Eingabefeld. Manchmal musst du allerdings auch auf Vorschau (unterhlb des Beitrags) klicken, damit sie erscheinen
mfg (Auto)Bert