hilfe bei gui mit buttons Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

hallo

hilfe bei gui mit buttons  Topic is solved

10 Apr 2021, 04:46

hallo!
ich will in etwa eine routine haben für strg+d, die eine gui öffnet, und diese geöffnete gui soll dann in etwa 6x6 oder 3x3x4 felder haben, jeweils 30x30 pixel groß, in denen nur ein buchstabe steht, und alles, was die gui tun soll, ist, darauf warten, dass ich auf einen der 6x6 buttons klicke, und dann soll das entsprechende zeichen gesendet werden.

und weil ich leider zu blöd bin dafür, wollt ich fragen wie das geht? :)?

die buttons könnten ja jeweils 50x50 pixel groß sein, oder 30 x 30, und das fenster sollte sich natürlich automatisch schließen, sobald ich auf einen button geklickt habe,

gleichzeitig würd ich uU mehrere solcher guis haben wollen, zb eine für strg+d und eine für strg+e.

und nun ist natürlich die frage, wie programmier ich das ganze?

und ich hoff mal einfach darauf, dass mir irgendwer mitteilen will, wie das geht, und in welcher reihenfolge ich die zeilen genau in den autohotkey file schreiben muss.

mfg, vielen dank.
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: hilfe bei gui mit buttons

10 Apr 2021, 07:59

Einige Stichworte hierzu: Gui > Section (um das Raster zu stricken), A_GuiEvent (um die Clicks zu detektieren), gLabel (wird angesprungen je nach geklicktem Feld/Button), Gui > Destroy (zerstören/schließen der Gui). Denn mal tau, und mit deinem Code erneut 'vorsprechen' :thumbup:
hallo

Re: hilfe bei gui mit buttons

10 Apr 2021, 14:57

ja, ich weiß schon das einfachste nicht, ich hab ja selber versucht, mir alle sachen zusammenzukramen, aber ich versteh die syntax auch nicht so richtig. also, soweit ich das verstanden habe, muss ich irgendwo oben eingeben "gui, new, options, title", und ich kann das dann aufrufen, indem ich title aufrufe? ist das richtig? und theoretisch brauch ich ja nichts anderes, als dass ich die länge und breite des ganzen definiere, und dann endlos "gui, add, button, ?????, name" eingebe, und dann jeweils name definiere, und dann sollte ja alles klappen.
aber tut's leider nicht und das ding zeigt mir noch nicht mal die buttons an.

ja, also ein bisschen hab ich mich schon damit befasst. ich hab gedacht, hier findet sich einfach einer, der das schonmal gemacht hat, und der mir einfach die befehle sagen kann.

weil alles, was ich brauche, ist,

befehl = gui,
und gui = soll ein fenster öffnen, und in dem fenster sind 6x6 buttons, die jeweils nur einen befehl ausführen, nämlich ein schriftzeichen zu schreiben.

ja, kann mir das einer kurz beibringen? ich hab leider nichts zur unterstützung, außer dass bestimmt mal wer anders noch vorbeikommt, um genau dasselbe "problem" zu googlen.
garry
Posts: 3758
Joined: 22 Dec 2013, 12:50

Re: hilfe bei gui mit buttons

11 Apr 2021, 08:39

hier ein GUI mit 36 buttons , Beispiel sendet Buchstaben zu GUI-edit , bei YEN startet URL

Code: Select all

;- copy this to notepad and save as > UTF-8 with BOM 
#warn
#NoEnv
name1=Send characters to edit
setworkingdir,%a_scriptdir%
Gui,2:default
Gui,2: -DPIScale
SS_REALSIZECONTROL := 0x40
transform,s,chr,127
WA:=A_screenwidth,HA:=A_screenheight,xx:=100
;Gui,2:Color,C8D0D4,Black                  ;-gray
Gui,2:Color,Black,Black
;- maybe change fontsize
;============ GUISIZEx DPIx 4Kx 3840*2160 is 100% ============
if (wa=3840)
 Gui,2:Font,s14 cYellow,Lucida Console
;============ GUISIZEx DPIx FHD 1920*1080 is 100% ============
else if (wa=1920)
 Gui,2:Font,s10 cBlack,Lucida Console
else
 Gui,2:Font,s7 cBlack,Lucida Console
;=============================================================
gosub, testbuttons
;---------------------
loop,parse,sectx,`n,`r
  {
  x:=a_loopfield
  if x=
     break
  stringsplit,k,x,`;
  cx .= k1 . s
  ck .= k2 . s
  }
stringsplit,m,ck,%s%
stringsplit,q,cx,%s%
totx:=(q0-1)
x:=(wa*1)/xx,y:=(ha*2)/xx,w :=(wa*2 )/xx,h:=(ha*2.5)/xx,v:=(ha*.5)/xx
d:=(wa*2.5)/xx    ;- Abstand
Gui,2:add,text,section x%x% y%y% w0 h0,
bvertical:=6
i=0
m=0
Loop,%totx%
  {
  i++
   if m=0
    {
    if (i=1)
    x:=x
     else
    x:=x+d
    Gui,2:add,text,section x%x% y%y% w0 h0,
    }
  BTName:= q%i%
  Gui,2: Add, Button,xs   y+%v% w%w%  h%h%  gStart1 v%btname%_%i% ,%btname%
  M:=mod(i,bvertical)
  }
x:=(wa*1)/xx,y:=(ha*22)/xx,w:=(wa*25)/xx,h:=(ha*2.5)/xx
Gui,2:add,edit,x%x% y%y% h%h% w%w% vED1
x:=(wa*1)/xx,y:=(ha*1)/xx,w:=(wa*27)/xx,h:=(ha*25)/xx
Gui,2:Show, x%x% y%y% h%h% w%w%,%name1%
return
;-------------------------------------------------------------------------
2Guiclose:
exitapp
;-------------------------------------------------------------------------
;--------------- start --------------------------
start1:
gui,2:submit,nohide
Mousegetpos,,,,Ctrl       ;- Button1
r:= a_guicontrol          ;- vVar ( Buttonname )
stringtrimleft,ct,ctrl,6  ;- Button-(1)
url:= m%ct%
;msgbox, 262208, ,R=%r%`nCT=%ct%`nCTRL=%ctrl%`nURL=%url%
;try
; send,%url%
all:=ed1 . url
Guicontrol,2:text,ED1,%all%
if (url="¥")
{
try
run,https://de.wikipedia.org/wiki/Yen
}
return
;--------------------
testbuttons:
cx:=""
ck:=""
sectx=   
(Ltrim Join`r`n
A;A
B;B
C;C
D;D
E;E
F;F
G;G
H;H
I;I
J;J
K;K
L;L
M;M
N;N
O;O
P;P
Q;Q
R;R
S;S
T;T
U;U
V;V
W;W
X;X
Y;Y
Z;Z
А;А
В;В
Г;Г
Д;Д
Е;Е
Ж;Ж
З;З
И;И
Й;Й
YEN;¥
)
return
;---------------------
;=================== END SCRIPT =============================================

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: gero and 20 guests