Tooltip Problem
-
Thread funktioniert normal das hab ich schon getestet. Nur wenn ich die System::Windows::Input::Keyboard static Methoden instanziere funktioneirts nicht.
Ich bin ein zu großer c++ noob um das so zu lösen. Ich werde einfach ne kleine headerdatei für Hooks schreiben und dann hat sich das problem gelöst.
lg seek
-
guch mal wenn du "The calling thread must be STA, because many UI components require this" in google eingibst findest du schon die Antworten.
-
Du hast wirklich eine Delegate von Keyboard erstellt?
-
Also ich hab dien rat befolgt und folgendes ergänzt:
keyThread->SetApartmentState(ApartmentState::STA);
Der Thread funktioniert jetzt.
Ich hab kein Delegate eingerichtet muss man das wenn ich die abfrage direkt mache mit :
static ref class keyEventThread { public: static void waitOnKey() { while(1) { if(Keyboard::IsKeyDown(Key::Z)) MessageBox::Show("F4 down"); if(Keyboard::IsKeyToggled(Key::Z)) MessageBox::Show("F4 down"); } } };
While(1) der Thread läuft die ganze zeit durch... also müssten auch die abfragen IsKeyEvents erkannt werden... oder nicht?
lg seek
-
Da habe ich voher schon bedenken gehabt! Was heißst while(1) ? mach mal lieber:
do {
...
down = true;
...} while(down == true);
-
Sag mal ich bin mir sicher das die Keyboard Klasse auch Events, wenn eine taste gedrückt wurde, hat.
-
Also
while(1) { //toDo }//endlosschleife
ist das gleiche wie
while(true) { //toDo }//endlosschleife
0 = true
0 = falseDie Klasse hat delegaten aber ich hab kien plan wie man die erstellen und benutzen kann
http://msdn.microsoft.com/de-de/library/system.windows.input.keyeventhandler(VS.85).aspx
lg seek
-
mach mal if(isKeyDown(Key::F4) == true)
-
-
Das Keyboard Event Problem habe ich neu reingepostet http://www.c-plusplus.net/forum/viewtopic-var-p-is-1753093.html#1753093 damit alle mal das durchlesen, ich hoffe das mir geholfen werden kann.
lg seek