Potrebbe sembrare naturale utilizzare Ctrl + +, Ctrl + -, e Ctrl + come scorciatoie per zoom di un'applicazione in, zoom out, e ripristinare zoom predefinito (in genere 100 %) Azioni. Ora, a Delfi, io sono in grado di assegnare Ctrl ++ e Ctrl + come scorciatoie. Il primo, tuttavia, richiede che venga utilizzato il segno più della parte principale della tastiera; il segno più del tastierino numerico non può essere utilizzato.Ctrl + - (Ctrl + Hyphen-Minus) come chiave ShortCut?
problema si pone, tuttavia, quando voglio assegnare Ctrl +- come scorciatoia. Semplicemente non funziona. Se assegno "Ctrl + -" nell'IDE, il valore memorizzato nella proprietà ShortCut
è 16495
. Se sottraiamo ssCtrl
da questo, otteniamo 111. Una soluzione, si potrebbe pensare, sarebbe assegnare ShortCut := 45 + ssCtrl
o, equivalentemente, ShortCut := Menus.ShortCut(45, [ssCtrl])
, perché ord('-') = 45
. Ma questo non funziona.
Tuttavia, ho trovato una soluzione operativa: ShortCut := 189 + ssCtrl
. Scelgo 189 perché è il numero che ricevo quando preme il tasto "-" e ascolto l'evento KeyDown
.
Quindi, perché non sono contento di questo? Beh, temo che la costante 189 sia valida solo sulle tastiere svedesi. Ho provato a leggere su questo, e, come al solito, the MSDN documentation è piuttosto chiaro, ma poi, chissà come Delphi gestisce le cose.
Suggerimento: aggiungere un alias per Ctrl + = per l'ingrandimento, altrimenti è necessario utilizzare Ctrl + MaiusC++ sulle tastiere senza tastierino numerico. – Douglas
@Douglas: sulla mia tastiera, inserisco un segno più premendo il tasto + (senza maiuscole o ctrl + maiuscole) proprio sopra "P" e "Å" (sì, le tastiere svedesi sono fatte così - http: // www .99.se/allegati/powerbook-macbook-pro/14819d1199736163-Svenskt-vs-danskt-tangentbord-800px-kb_sweden.svg.png). Questo è anche il mio problema: le chiavi non sono le stesse su tastiere diverse. –