| |
|
|
| Hallo an Alle ...irgendwie steh ich im Moment aufm Schlauch Mein Problem: In einem Dialogfenster ist eine einzeilige Editeingabe und zwei Buttons: Einmal [Abbrechen] und der zweite [Eintragen] - Wie bekomme ich das hin, dass hier mit der ALT- und einer Buchstabentaste das Dialogfenster verlassen wird ??? Auch wenn ich den Buchstaben unterstreiche (&) und in in der Schleife extra bezeichne, gibt mir Windows beim Druck auf die Taste ein Beep und nichts passiert. Mit der Maus und Getfocus... klappt alles bestens. Die Schleife wird durch Waitinput gesteuert. Hoffentlich habe ich mich richtig erklärt. Liegt mir nämlich sehr am Herzen. - Sonst meckert iF später, dass die Tasten im Programm nicht so funktionieren wie der User es gewohnt ist |
|
|
| |
|
|
|
Peter Max Müller | Hi, Folgendes funktioniert bei mir: KompilierenMarkierenSeparierenLET dl2_bcancel% = Create("Button",_dlg2searchlist%,"Ab&brechen",214,385,139,25)
Aber ich glaube mich erinnern zu können das man diese Unterstützung in Windows ab/anschalten kann.
Guck Mal hier: [...]
Ich zitiere: [quote:944a7725f7] Unter Windows 2000 wie folgt: Start > Einstellungen > Systemsteuerung > Anzeige (oder: Desktop, rechte Maustaste, Eigenschaften), Registerkarte Effekte, dort die Option Tastaturnavigationsanzeiger ausblenden (mit ALT-Taste einblenden) deaktivieren. [/quote:944a7725f7] |
|
|
| |
|
|
|
| Abstellbar ist imho lediglich der Effekt des nicht-Unterstreichens der Acceleratorkeys.
@Horst: Wird Dein Eingabefeld verlassen wenn die TAB-Taste gedrückt wird? |
|
|
| |
|
|
|
| |
|
| |
|
|
|
| Sorry, Dein Beispiel ist nicht lauffähig. |
|
|
| |
|
|
|
| KompilierenMarkierenSeparieren
PROC UMBENENNEN UMBENENNEN
Declare win&,mE%,mBack%,mOK%,edit1%,I%,txt%,font3%,font0%
font0%=CREATE("FONT","ARIAL",14,0,0,0,0)
font3%=CREATE("FONT","COMIC SANS MS",20,0,1,0,0)
Declare text$,datei2$,neu_name$
PARAMETERS path$,datei$,modus$
datei$=path$+datei$
mE%=0
I%=LEN(datei$)
text$=datei$
Case GT(I%,35):text$=LEFT$(text$,3)+"..."+RIGHT$(text$,35)
win&=CREATE("DIALOG",%HWnd,"Datei / Ordner umbenennen",SUB(DIV(%MaxX,2),200),SUB(DIV(%MaxY,2),90),400,180)
txt%=CREATE("TEXT",win&,text$,20,10,340,20)
SetFont txt%,font3%
txt%=CREATE("TEXT",win&,"Geben Sie den neuen Namen ein und klicken Sie auf [Uebernehmen]",20,38,480,20)
SetFont txt%,font0%
edit1%=CREATE("EDIT",win&,datei2$,20,60,350,25)
I%=LEN(datei2$)
sendmessage(edit1%,$00B1,I%,-1)
SetFont edit1%,font3%
mBack%=CREATE("BUTTON",win&,"&Zurück",20,100,80,25)
SetFont mBack%,font0%
mOK%=CREATE("DEFBUTTON",win&,"&Uebernehmen",290,100,80,25)
SetFont mOK%,font0%
SetFocus(edit1%)
WhileNot mE%
WAITINPUT
If GetFocus(mBack%)
DesTroyWindow(win&)
mE%=1
SetActiveWindow(%HWnd)
ENDIF
IF GetFocus(mOK%)
neu_name$=GETTEXT$(edit1%)
neu_name$=path$+neu_name$
DesTroyWindow(win&)
mE%=1
IF equ$(modus$,"0") Ordner
neu_name$=UPPER$(neu_name$)
ElseIf equ$(modus$,"1") Datei
neu_name$=LOWER$(neu_name$)
ENDIF
#### Hier wird dann zum Umbenennen verzweigt
MessageBox(neu_name$,"Umbenennen...",64)
END
ENDIF
WEND
ENDPROC
CLS
umbenennen "C:","TEMP","0"
[quote:e6c2730182]Sorry, Dein Beispiel ist nicht lauffähig.[/quote:e6c2730182] Sorry iF - das sollte nur die Schleife zeigen - aber jetzt kommt es: der Code der oben steht funktioniert einwandfrei. Versuche ich den gleichen Code innerhalb des Programmes, klappt es nicht mit der Tastatur. Kann es an der InitMessage von der LISTVIEW.DLL liegen ? Frank vielleicht weisst Du weiter |
|
|
| |
|
|
|
| [quote:34b90124fc]aber jetzt kommt es: der Code der oben steht funktioniert einwandfrei.[/quote:34b90124fc]Das verwundert mich ganz und garnicht! Das ist doch genau der Grund dafür weshalb ich lauffähige minimalbespiele wünsche. Oft liegt der Hund halt woanders begraben. |
|
|
| |
|
|
|
Frank Abbing | Nein, ich weiss auch nicht weiter. Die Listview.dll registriert Tastatureingaben. Aber diese werden dann weiter geleitet. |
|
|
| |
|
|