Deutsch
Forum

ALT+ Buchstabentaste in einer Editeingabe

 
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
 
14.06.2006  
 




Peter
Max
Müller
Hi,
Folgendes funktioniert bei mir:
KompilierenMarkierenSeparieren
LET 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]
 
XProfan X3, X4ß, Win 10.1
14.06.2006  
 



Abstellbar ist imho lediglich der Effekt des nicht-Unterstreichens der Acceleratorkeys.

@Horst: Wird Dein Eingabefeld verlassen wenn die TAB-Taste gedrückt wird?
 
14.06.2006  
 




KompilierenMarkierenSeparieren
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

        FILE_ACTION "RENAME",datei$,neu_name$,1,0
        SetActiveWindow(%HWnd)

    ENDIF

WEND


So sieht die Schleife aus - wenn die Tab-Taste gedrückt wird, wird das ganze Dialogfenster gelöscht
 
14.06.2006  
 



Sorry, Dein Beispiel ist nicht lauffähig.
 
14.06.2006  
 




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
 
14.06.2006  
 



[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.
 
14.06.2006  
 




Frank
Abbing
Nein, ich weiss auch nicht weiter. Die Listview.dll registriert Tastatureingaben. Aber diese werden dann weiter geleitet.
 
14.06.2006  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

713 Betrachtungen

Unbenanntvor 0 min.
Walter01.07.2018
Ernst14.04.2016
rquindt01.03.2016
Andre Rohland31.12.2014
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie