wann krieg ich keine Scancodes?

  • Wenn ich ein Fenster geöffnet habe und nicht gerade innerhalb eines Editfelds oder ähnlichen bin, dann kann ich doch in der Waitinputschleife schön meine Scancodes abgreifen:

    Code
    WhileNot 0
      WaitInput
      if %key=2
        BREAK
      else
        settext text1&, "Scancode "+str$(%Scankey)
      endif
    EndWhile


    Welche Ursachen verhindern dieses Abfragen der Scancodes? Ich habe derzeit ein Dialogfenster erzeugt, einen Schwung Textzeilen drin und ein knappes Dutzend Editfelder, die ausnahmslos deaktiviert sind. Und hier komm ich mit obiger Schleife überhaupt nicht weiter - ich krieg nix... Der Code ist zu groß und zu verzweigt, um ihn hier reinzuposten - gibts n Tip?

    ---
    Xprofan X4, Win7/32, Win10/64

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress, WoltLab & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

    Wenn du Fragen hast, kannst du dich gerne jederzeit an @Maximilian Rupp wenden

    Hinweis:

  • Du erhälst den Scancode natürlich nur, während du dich im Hauptfenster befindest, weil WaitInput nur Messages verarbeiten kann, die auch am Hauptfenster ankommen.
    Systemweite Lösungen bieten diverse API wie GetKeyState() oder auch XProfans Iskey(). Den Status aller Tasten gleichzeitig erhälst du mittels GetKeyboardState().
    Du kannst auch jedes Control/jeden Dialog subclassen und dann WM_KEYDOWN/WM_KEYUP abfragen:

    Code
    If  SubClassMessage(control&, wm_keydown)
      If &swparam=13   'Return abfragen usw...
      ...
  • Danke, dann weiss ich, wie es weitergeht. Auf den Gedanken, daß ich in untergeordneten Fenstern keine Scancodes abfragen kann, wär ich nicht gekommen. Ich werd den Weg übers Subclassing gehen.

    ---
    Xprofan X4, Win7/32, Win10/64

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!