Tastaturkürzel im visMoniker

  • Im 'normalen' visMoniker kann man einen Buchstaben angeben, mit dem man das Objekt über die Tastatur ansteuern kann. Beispiel:

    GI_visMoniker = 'e', "Test";

    Das e erscheint unterstrichen.

    Wenn ich mir das visMoniker über einen GString erstelle, dann gibt es diese Möglichkeit nicht. Oder vielleicht doch?

  • Ich fürchte nicht. Das Tastenkürzel ist wohl ein spezielles Feature von Text-only Monikern. Objects\visC.goh:

    Was gehen sollte ist ein Keyboard Accelerator, zB. im UI Code

    Code
        GI_kbdAccelerator = shift ctrl 'D';

    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Gute Idee! Ich kann mit:

    @call Zahl_Darstellung::MSG_GEN_SET_KBD_ACCELERATOR('N',VUM_NOW);


    ein Tastenkürzel zuweisen und erhalte z.B.

    Bei der Eingabe von Shift N passiert allerdings nichts. Keine Ahnung, wohin die Message MSG_META_KBD_CHAR geht, an process jedenfalls nicht.

  • Evtl muss du noch mindestens ein der Flags übergeben? Ich würde auch zunächst an eine Kleinbuchstaben denken. KS_SHIFT mach dann den Großbuchstaben.

    Code
    #define KS_PHYSICAL      0x8000	/* TRUE: match key, not character   */
    #define KS_ALT   	0x4000	/* TRUE: <ALT> must be pressed	    */
    #define KS_CTRL  	0x2000	/* TRUE: <CTRL> must be pressed	    */
    #define KS_SHIFT  	0x1000	/* TRUE: <SHIFT> must be pressed    */

    z.B.

    Code
    @call Zahl_Darstellung::MSG_GEN_SET_KBD_ACCELERATOR(KS_SHIFT + KS_CTRL + 'n' ,VUM_NOW);

    Gibt es eine speziellen Grund, die Vereinbarung nicht im UI_Code zu machen? Dort wäre sie lokalisierbar!

    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.