Deutsches AutoHotkey Homepage AutoHotkey Community
Wir helfen uns gegenseitig aus der Patsche
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Box mit einem Menü
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe!
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Lulu
Gast





BeitragVerfasst am: Mi März 15, 2006 9:50 am    Titel: Box mit einem Menü Antworten mit Zitat

:shock: Hallo,
ich bin totaler Änfänger. Ich möchte ein Script erstellen, wo ich vier Menüpunkte habe. die Menüpunkte möchte ich mit einem Kästchen daneben aktivieren. oder wenn es einfacher ist mit Zahlen. Bisher habe ich alles über Batchdateien gemacht, aber hier ist es komfortabler.

Kann mir jemand helfen
Hier mal ein Beispiel von Batch:
@echo off
:menu
echo Du hast die Wahl
echo (1) startet oder installiert Acro7Pro
echo (2) startet oder installiert Adobe Premiere
echo
echo (0) beendet das Programm
set /p _choice=Enter your choice:
if %_choice%==0 goto end
if %_choice%==1 goto choice1
if %_choice%==2 goto choice2
:choice1 .......................
Viel Grüße :idea:
Nach oben
toralf



Anmeldedatum: 25.10.2005
Beiträge: 110
Wohnort: Stuttgart

BeitragVerfasst am: Mi März 15, 2006 10:04 am    Titel: Antworten mit Zitat

Hi Lulu,

Zur Installation bietet sich in AHK eine GUI an. Ich habe sogar zum starten meiner Programme eine smalle GUI (so zu sagen eine ToolBar).

Du kannst es aber auch mit einem context pop-up menu machen
oder mit den Menu des TrayIcons.

Oder nur über Hotkeys.


Du siehst, es gibt sehr viele Möglichkeiten. Je nachdem wie es Dir gefällt.

kiu hat im englischen Forum sogar etwas vorgestellt, mit dem mit der Maus in radialen menus ausgewählt werden kann. (erinnert an NeverWinterNights)[/code]
_________________
Ciao
toralf
Auto-Syntax-Tidy Icon Viewer EasyCopy AHK
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
FrankCzichos



Anmeldedatum: 19.02.2006
Beiträge: 65
Wohnort: Bad Münder

BeitragVerfasst am: Mi März 15, 2006 4:26 pm    Titel: GUI - Anleitung auf deutsch Antworten mit Zitat

Hi,

ich bin noch jemand, der sich mit dem Englisch enorm schwer tut (wahrscheinlich muss ich da doch noch mal ran, da die Rente immer weiter rückt Sad ).

Gibt es den Befehlssyntax von GUI irgendwo auch auf deutsch? Habe hier nichts gefunden.

Gruß, Frank.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
toralf



Anmeldedatum: 25.10.2005
Beiträge: 110
Wohnort: Stuttgart

BeitragVerfasst am: Mi März 15, 2006 4:53 pm    Titel: Antworten mit Zitat

Hast Du schon mal im deutschen AHK Wiki geschaut?
_________________
Ciao
toralf
Auto-Syntax-Tidy Icon Viewer EasyCopy AHK
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AGU
Gast





BeitragVerfasst am: Mi März 15, 2006 5:09 pm    Titel: Antworten mit Zitat

Die Gui Sektion ist leider noch nicht übersetzt.

Da das Thema GUI sehr umfangreich ist, bedarf es hier wahrscheinlich einer größeren Anstrengung. Smile

Gruß
AGU
Nach oben
FrankCzichos



Anmeldedatum: 19.02.2006
Beiträge: 65
Wohnort: Bad Münder

BeitragVerfasst am: Mi März 15, 2006 6:27 pm    Titel: Erster Versuch Antworten mit Zitat

Zitat:
Hier mal ein Beispiel von Batch:
@echo off
:menu
echo Du hast die Wahl
echo (1) startet oder installiert Acro7Pro
echo (2) startet oder installiert Adobe Premiere
echo
echo (0) beendet das Programm
set /p _choice=Enter your choice:
if %_choice%==0 goto end
if %_choice%==1 goto choice1
if %_choice%==2 goto choice2
:choice1 .......................


Ich habe mal einen ersten Versuch gestartet (wie gesagt, bin auch Anfänger - vielleicht ist es etwas umständlich, aber dabei lernt man ja auch..)

Code:

Gui, Add, Text,, Du hast die Qual der Wahl !
Gui, Add, Text,, ; das ist eine Leerzeile...
Gui, Add, Text,, ; das ist eine Leerzeile...

Gui, Add, Button,, Auswahl &1
Gui, Add, Button,, Auswahl &2
Gui, Add, Button,, Auswahl &3
Gui, Add, Button,, Auswahl &4
Gui, Add, Button,, Auswahl &5

Gui, Show,, Auswahl
return


GuiClose:

ButtonAuswahl1:
MsgBox Du hast erfolgreich 1 ausgewählt !
goto, ende

ButtonAuswahl2:
MsgBox Du hast erfolgreich 2 ausgewählt !
goto, ende

ButtonAuswahl3:
MsgBox Du hast erfolgreich 3 ausgewählt !
goto, ende

ButtonAuswahl4:
MsgBox Du hast erfolgreich 4 ausgewählt !
goto, ende

ButtonAuswahl5:
MsgBox Du hast erfolgreich 5 ausgewählt !
goto, ende

Ende:
ExitApp


Statt MsgBox kannst du natürlich deine Aktivitäten hinterlegen, z. B.
Run, c:\verzeichnis\meinProgramm.exe

Die Auswahl kannst du mit der Maus anklicken oder mit <Alt>+Ziffer tätigen.

Wenn du auf die Tastenkombination <alt>+Ziffer verzichten willst und direkt eine Zahl eingeben willst, kannst du statt einem Button ein Input-Feld nehmen, dessen Wert in eine Variable gespeichert wird usw.

Wenn dir selbst das zu umständlich ist (Zahl eingeben und Eingabetaste drücken), kannst du die Zahlen 1, 2, ... auch direkt zum Ansteuern benutzen, z. B.:


Code:

:*:1::
MsgBox Sie haben eine 1 getippt.
ExitApp


Was hält der Rest der Gemeinde davon (bin schon etwas stolz auf mich Wink )

Viele Grüße, Frank.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
toralf



Anmeldedatum: 25.10.2005
Beiträge: 110
Wohnort: Stuttgart

BeitragVerfasst am: Mi März 15, 2006 9:54 pm    Titel: Antworten mit Zitat

Halle Frank,
Ich denke, Du kannst und darfst stolz auf Dich sein. Ich habe noch nie einen Anfänger solch ein gutes Beipielskript schreiben sehen. Auch noch die anderen Möglichkeiten aufzuzählen war klasse. Echt.

Aber ich wäre nicht toralf, hätte ich nichts dran auszusetzen: Goto
Bäh, pfui deibel.

Besser ist es (meine Meinung) GoTo zu vermeiden. Stattdessen ein Return und in der GUI einen Button mit "Schließen" als Beschriftung, der dann zur Subroutine Ende verweist.

Auch für die Buttons würde ich g-lable empfehlen und nicht die auto-labels.

Statt der Leerzeilen, kannst Du beim ersten butten ein "x+40" in die Optionen einfügen.

GuiClose führt die erste Auswahl aus, ich denke dies sollte wohl eher vor die Ende routine.

Trotz der ganzen Punkte gelungen. Weitermachen.
_________________
Ciao
toralf
Auto-Syntax-Tidy Icon Viewer EasyCopy AHK
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
FrankCzichos



Anmeldedatum: 19.02.2006
Beiträge: 65
Wohnort: Bad Münder

BeitragVerfasst am: Do März 16, 2006 6:17 am    Titel: Antworten mit Zitat

Vielen Dank,

dann muss ich wohl noch etwas weiter lesen / übersetzen...

Zitat:
Aber ich wäre nicht toralf, hätte ich nichts dran auszusetzen: Goto
Bäh, pfui deibel.

Besser ist es (meine Meinung) GoTo zu vermeiden. Stattdessen ein Return und in der GUI einen Button mit "Schließen" als Beschriftung, der dann zur Subroutine Ende verweist.


Hmmm, dann habe ich nach der Auswahl in der GUI ein Programm, das startet und im Hintergrund die GUI offen, die so lange offen bleibt, bis ich den Button "Schließen" wähle. Wenn man das so will, ist das ein Weg.

Ich habe versucht, die Analogie von Lulu herzustellen: Von irgendwoher wird die Datei auwahl.bat gestartet, der User reagiert mit einer Eingabe und danach ist das Fenster weg.

Wenn ich das realisieren will (und akzeptiere, statt einer 1, 2, ... , eine <Alt>+1 usw. drücken muss oder sowieso den Mausklick bevorzuge), würde ich auf der GUI keinen Button "Schließen" einfügen.

Um dennoch GoTo zu vermeiden, habe ich ein GoSub und Return benutzt

Code:

ButtonAuswahl1:
MsgBox Du hast erfolgreich 1 ausgewählt !
gosub, ende
return


Ob das aber sauberer ist? Das return wird ja nie angesprochen , da in Ende: ein "ExitApp" steht. Aber wenn man zu einem Zeitpunkt ein jähes Ende für sein Script realisieren will, muss man es auch reinschreiben... Laughing

Zitat:
Auch für die Buttons würde ich g-lable empfehlen und nicht die auto-labels.


Da habe ich auf Anhieb nichts gefunden - was ist g-lable / auto-label?


Zitat:
GuiClose führt die erste Auswahl aus, ich denke dies sollte wohl eher vor die Ende routine.


Das kann eigentlich überhaupt weg, da ich es ja nicht brauche. Habe ja vor dem ersten Return ein
Code:
Gui, Show,, Auswahl
stehen und am Ende mein "ExitApp".


Zitat:
Statt der Leerzeilen, kannst Du beim ersten butten ein "x+40" in die Optionen einfügen.


Das sieht komisch aus, aber mit "y+40" hat es geklappt!

So, jetzt muss ich mal etwas arbeiten gehen und am Wochenende schaue ich mir den Rest an.

Viele Grüße,
Frank.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
toralf



Anmeldedatum: 25.10.2005
Beiträge: 110
Wohnort: Stuttgart

BeitragVerfasst am: Do März 16, 2006 9:13 am    Titel: Antworten mit Zitat

FrankCzichos hat Folgendes geschrieben:
Ich habe versucht, die Analogie von Lulu herzustellen: Von irgendwoher wird die Datei auwahl.bat gestartet, der User reagiert mit einer Eingabe und danach ist das Fenster weg.
Ok, akzeptiert.

FrankCzichos hat Folgendes geschrieben:
...würde ich auf der GUI keinen Button "Schließen" einfügen.
Ist ok

FrankCzichos hat Folgendes geschrieben:
Um dennoch GoTo zu vermeiden, habe ich ein GoSub und Return benutzt
Code:
ButtonAuswahl1:
MsgBox Du hast erfolgreich 1 ausgewählt !
gosub, ende
return
Statt des GoSub wäre auch ein ExitApp direkt möglich.

FrankCzichos hat Folgendes geschrieben:
Ob das aber sauberer ist? Das return wird ja nie angesprochen , da in Ende: ein "ExitApp" steht. Aber wenn man zu einem Zeitpunkt ein jähes Ende für sein Script realisieren will, muss man es auch reinschreiben... :lol:
Ich bin sehr dafür "sauber" zu coden. Auch wenn das Return nie angesprochen wird. Es verdeutlicht, das hier die routine zu ende ist. (BTW: der code für die anderen auswahlmöglichkeiten wird ja auch nicht angesprochen, und trotzdem lässt Du ihn drin :) *Scherz*


FrankCzichos hat Folgendes geschrieben:
Da habe ich auf Anhieb nichts gefunden - was ist g-lable / auto-label?
In den Optionen der Controls kannst Du eine routine angeben, die ausgeführt wird, wenn das Control betätigt wird. Dazu wird der routinen name mit einem g vorangestellt. z.b.
Code:
Gui, Add, Button, gAuswahl1 , Erste Auswahl die dich glücklich macht
Die Routine, die nun bei click auf den button ausgeführt wird ist "Auswahl1:". Das Auto-Label für diesen button wäre: "ButtonErsteAuswahldiedichglücklichmacht:" Ich denke damit ist der Vorteil klar.

FrankCzichos hat Folgendes geschrieben:
Zitat:
GuiClose führt die erste Auswahl aus, ich denke dies sollte wohl eher vor die Ende routine.
Das kann eigentlich überhaupt weg, da ich es ja nicht brauche. Habe ja vor dem ersten Return ein
Code:
Gui, Show,, Auswahl
stehen und am Ende mein "ExitApp".
Denke ich nicht, was ist denn, wenn der User Abbrechen will? Er wird die GUI schließen ohne Auswahl. Um aber das Skript sauber zu beenden, musst Du Ihm mitteilen, was es tun soll, wenn die GUI sich schließt => ExitApp.
_________________
Ciao
toralf
Auto-Syntax-Tidy Icon Viewer EasyCopy AHK
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
FrankCzichos



Anmeldedatum: 19.02.2006
Beiträge: 65
Wohnort: Bad Münder

BeitragVerfasst am: Do März 16, 2006 3:39 pm    Titel: Antworten mit Zitat

Zitat:
Die Routine, die nun bei click auf den button ausgeführt wird ist "Auswahl1:". Das Auto-Label für diesen button wäre: "ButtonErsteAuswahldiedichglücklichmacht:" Ich denke damit ist der Vorteil klar.


Oki, das ist natürlich wesentlich besser - da kann man besser die Routinen benamen.

Code:
Gui, Add, Button, gNEU, &Erste Auswahl die dich glücklich macht
(...)
NEU:
msgbox Jetzt kann der Button eine andere Beschriftung haben, als der Name der Unterroutine... Das ist doch auch schon mal ganz nett !
ExitApp
return


Es ist gewöhnungsbedürftig, dass es einmal gNEU und einmal NEU heißt. Das finde ich an einer Programmiersprache nicht sauber. Wenn das nicht geht, weil es mehrere Optionen gibt, wäre es schöner, wenn es heißen würde:
Gui, Add, Button, GoSuB=NEU, &Erste Auswahl die dich glücklich macht
oder
Gui, Add, Button, var=NEU, &Erste Auswahl die dich glücklich macht

... also irgendwie eine klarere Definition der Aktion und nicht einfach nur ein "g" voranstellen - mich verwirrt das ein wenig. Aber man kann sich sicherlich daran gewöhnen.



Eine neue Frage:
Wenn die GUI ercheint, reagiert sie auch auf die Tastenkobinationen <Alt> + 1, 2, 3, 4, 5, e.

Aber das jeweilige Zeichen erscheint erst, wenn man die <ALT>-Taste drückt. Das ist unschön für User, die die GUI nicht kennen. Gibts dafür eine Lösung?

Man kann ja schlecht ein
send, !
hinterherschicken...

Gruß, Frank
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
toralf



Anmeldedatum: 25.10.2005
Beiträge: 110
Wohnort: Stuttgart

BeitragVerfasst am: Do März 16, 2006 4:45 pm    Titel: Antworten mit Zitat

FrankCzichos hat Folgendes geschrieben:
Es ist gewöhnungsbedürftig, dass es einmal gNEU und einmal NEU heißt. Das finde ich an einer Programmiersprache nicht sauber. Wenn das nicht geht, weil es mehrere Optionen gibt, wäre es schöner, wenn es heißen würde:
Gui, Add, Button, GoSuB=NEU, &Erste Auswahl die dich glücklich macht
oder
Gui, Add, Button, var=NEU, &Erste Auswahl die dich glücklich macht

... also irgendwie eine klarere Definition der Aktion und nicht einfach nur ein "g" voranstellen - mich verwirrt das ein wenig. Aber man kann sich sicherlich daran gewöhnen.
es sind halt abkürzungen. Du möchest ja auch nicht statt x10 immer x-Koordinate_im_Fenster=10 schreiben, oder?

FrankCzichos hat Folgendes geschrieben:
Eine neue Frage:
Wenn die GUI ercheint, reagiert sie auch auf die Tastenkobinationen <Alt> + 1, 2, 3, 4, 5, e.

Aber das jeweilige Zeichen erscheint erst, wenn man die <ALT>-Taste drückt. Das ist unschön für User, die die GUI nicht kennen. Gibts dafür eine Lösung?

Man kann ja schlecht ein
send, !
hinterherschicken...
Das die Zeichen erst nach "Alt"-Druck erscheinen, ist ein normales Windowsverhalten. Da kann AHK nichts dran ändern. Im allgemeinen ist dies aber bekannt. Und Keyboard Akrobaten wissen es. Maus-Schubser werden sowieso davon die Finger lassen.
_________________
Ciao
toralf
Auto-Syntax-Tidy Icon Viewer EasyCopy AHK
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
FrankCzichos



Anmeldedatum: 19.02.2006
Beiträge: 65
Wohnort: Bad Münder

BeitragVerfasst am: Sa März 18, 2006 8:36 am    Titel: Antworten mit Zitat

toralf hat Folgendes geschrieben:

Das die Zeichen erst nach "Alt"-Druck erscheinen, ist ein normales Windowsverhalten.


Ist das so? Ich habe schon Installationsfenster gesehen, bei denen ein unterstrichenes a direkt sichbar war, um die Lizenzbedingungen zu akzeptieren und ein unterstrichenes w für weiter usw.

Irgendwie haben die das hinbekommen. In den Menüleisten gehts auch (ok, ist was anderes als Buttons).

Nun ja, das ist sicherlich nicht kriegsentscheidend. Irgendwie gefällt mir die Variante ohne Buttons (mittels :*:1:: ) sowieso besser, wenns schnell gehen soll.

Gruß, Frank
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Thalon



Anmeldedatum: 25.10.2005
Beiträge: 1896
Wohnort: Österreich

BeitragVerfasst am: Sa März 18, 2006 9:42 am    Titel: Antworten mit Zitat

Wieso nicht einfach "1::" nehmen?

Falls der Unterstrich sichtbar ist ist es möglicherweise auch ein Bitmap auf dem Button, aber das bekommt der advanced User auch mit AHK hin (und im englischen Forum gibts zu den Graphic Buttons auch bereits eine Lösung).

Thalon
_________________
Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
FrankCzichos



Anmeldedatum: 19.02.2006
Beiträge: 65
Wohnort: Bad Münder

BeitragVerfasst am: Sa März 18, 2006 10:26 am    Titel: Antworten mit Zitat

Thalon hat Folgendes geschrieben:
Wieso nicht einfach "1::" nehmen?


Was meinst du damit? Wieso nicht ::1:: statt :*:1:: nehmen? Damit man kein Leerzeichen oder Eingabetaste eintippen muss.

Oder was meinst du?

Gruß, Frank.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Thalon



Anmeldedatum: 25.10.2005
Beiträge: 1896
Wohnort: Österreich

BeitragVerfasst am: Sa März 18, 2006 2:37 pm    Titel: Antworten mit Zitat

Sieh genauer hin Wink
Ich hab einen Hotkey verwendet, du einen Hotstring aus einem Zeichen.
Da ist der Unterschied Wink

Thalon
_________________
Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe! Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de