Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Problem mit WM_KEYUP

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
01.07.2005, 15:18 Uhr
RedEagle



Hi
Ich hab folgenden code:

C++:
//...
do
{
  GetMessage(&message, hwnd, WM_KEYFIRST, WM_KEYLAST);
  if(message.message == WM_KEYUP)
  {
     *value = message.wParam; //Zeichen einlesen
     return true;
  }
}
while(true);
//...


So, wie er oben steht, funktioniert der code zwar, aber ich kann halt keine "normalen" Buchstanben / Zahlen einlesen...

Wenn ich aus WM_KEYUP ein WM_CHAR mache, bleibt er in der endlosschleife...

Wie kann ich abfragen, ob jemand eine Taste gedrückt hat, bzw welchen Buchstabe/Zahl er gedrückt hat??
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.07.2005, 15:44 Uhr
Oliver
S2-Pixelgeneral


Wieso machst du das nicht in die WndProc rein?
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.07.2005, 15:47 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Weil du (wie in jeder Windowsnachrichtenschleife) die Nachricht erst mit TranslateMessage() umwandeln musst.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
01.07.2005, 15:54 Uhr
RedEagle



Die Frage hab ich befürchtet
Also:
Ich schriebe gerne Textbasierte Programme.
Deshalb bin ich auf die WinKonsole angewiesen.
Aber mit der Konsole kann man nicht so "schöne" sachen machen, weil:
ich hab nur 16 Farben
Ich bin auf ein Feld von 80×25 Zeichen beschränkt
Ich kann weder unterstreichen, noch kursive Ausgabe machen.
Deshab möcht ich jetzt ein Fenster "Umbauen" damit ich das Benutzen kann, wie die Konsole. Hier mal ein Beispielprogramm, das schon funktioniert:

C++:
#include <windows.h>
#include "Xout.hpp"

int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
InitXout(hThisInstance);
CreateXout();
ShowXout(true);


textcolor(COLOR_WHITE);
textbackground(COLOR_GREEN);
stroutput("\t\t\t Xout - Testumgebung \n\r");
textbackground(COLOR_BLACK);
textcolor(0x0000ff);
  stroutput("-r- ");
textcolor(0x00ff00);
  stroutput("-g- ");
textcolor(0xff0000);
  stroutput("-b- ");


MessageBox(NULL,"Klicken sie auf OK, um Xout zu schließen","Xout",MB_OK);
return 0;
}

Es wird "-r- -g- -b-" Ausgegeben, in den in den jeweiligen Farben

Die Ausgabe funktioniert, jetzt brauch ich nur noch eine Eingabefunktion: bool input(char* value);
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.07.2005, 16:00 Uhr
RedEagle



@Guybrush:
Genau das hat gefehlt, funktioniert
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: