tastatur eingaben in win32 anwendung

  • ich habe ein tetris in msvc6.0 - opengl geschrieben, es rennt in einem einfachen windows-fenster, keine dialogboxen, keine scrollbars, ...

    alles was jetzt noch fehlt ist, dass man seinen namen für die highscore liste eingeben kann. ich habe es probiert mit ...

    char name[50];
    name = gets(name);
    cin << name;
    und mit einer getchar(c) Schleife um daraus dann den name zu bauen

    all diese varianten dürften aber nur in einer konsolenanwendung rennen. kennt ihr eventuell eine einfache möglichkeit einen string von der tastatur einzulesen, ohne extra dialogboxen zu verwenden ? meine momentane lösung ist den namen in eine datei "player.txt" einzugeben - und ich lade den zum spielstart rein.

    "The future is something which everyone reaches at the rate of 60 minutes an hour, whatever he does, whoever he is."

  • An Dialogboxen wirst du nicht vorbei kommen, wobei das Behandeln derselben eh nicht sehr kompliziert ist. Wenn Du was im Dialogfenser machst, wird immer die DialogProc aufgerufen. Da mußt du halt rausfiltern, wann "Ok" geklickt wurde (WM_COMMAND+BN_CLICKED) und da die Editfelder einfach auslesen: int len = SendDlgItemMessage(hwnd, IDC_HIGHSCORE, WM_GETTEXT, (WPARAM)buf, (LPARAM)100); buf[len] = '\0';

    MfG, Michael

    Informatik @ TU Wien (1998 - 2005)

  • Oder du lest die WM_CHAR Nachrichten ein. Die beinhalten ein druckbares Zeichen, dass von der Tastatur eingegeben wird.

    Kongo

    :thumb: Geschrieben nach der alten, neuen und zukünftigen Rechtschreibung! :thumb:

  • danke für eure hilfe :) die methode mit WM_CHAR war in dem fall die einfachste, funktioniert perfekt.

    "The future is something which everyone reaches at the rate of 60 minutes an hour, whatever he does, whoever he is."

Jetzt mitmachen!

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