C++ Bildschirmtastatur +SetFocus (gelöst) +TopMost (gelöst) +Neues Problem mit Button
Guten Tag, ich poste hier das erste mal und hoffe dadurch ein wenig Hilfe zu bekommen.
Ich programmiere noch nicht so wirklich lange mit C++ und deswegen fällt es mir bis jetzt doch noch schwer.
Ich sitze hier beim Praktikum und soll eine Bildschirmtastatur wie die von Windows programmieren. Das ganze in C++ und mit Microsoft Visual C++ 6.0. Alles ohne MFC oder so. Das meiste hab ich schon hinbekommen nur jetzt kommts zum eigendlichen Problem.
Wenn ich eine Taste auf meiner Tastatur drücke muss der Focus danach ja auf das Window davor gesetzt werden, sonst würde er ja versuchen im eigenen Fenster du schreiben.
Oder der Focus müsste einfach immer weg von meiner Tastatur sein.
Ich hab mir gedacht, dass wenn ich den Focus verliere der Case:
aufgerufen wird.
Aber dann müsste ich irgendwie wieder den Focus auf das letzte Window setzen.
Meine Tastatur müsste ja ausserdem immer im Vordergrund sein, aber ich weiß da auch nicht wie ich das mit dem WS_EX_TOPMOST machen soll. Zur Zeit hab ich das einfach in die Properties von meinem Window gesetzt:
Nur da passiert auch nichts.
Ich weiß das ich nicht so wirklich der super Programmierer bin, aber ich hab schon alles mögliche gegoogelt und hier auch schon mit der Suchfunktion rumgeguckt, aber so wirklich bringt mich das auch nicht weiter.
Ich hoffe mir kann da wer ein paar Tipps geben die mir weiterhelfen.
Edit: Okay das mit dem TopMost hab ich jetzt hinbekommen. Jetzt darf das Window nur nicht mehr einen Focus bekommen!
Guten Tag, ich poste hier das erste mal und hoffe dadurch ein wenig Hilfe zu bekommen.
Ich programmiere noch nicht so wirklich lange mit C++ und deswegen fällt es mir bis jetzt doch noch schwer.
Ich sitze hier beim Praktikum und soll eine Bildschirmtastatur wie die von Windows programmieren. Das ganze in C++ und mit Microsoft Visual C++ 6.0. Alles ohne MFC oder so. Das meiste hab ich schon hinbekommen nur jetzt kommts zum eigendlichen Problem.
Wenn ich eine Taste auf meiner Tastatur drücke muss der Focus danach ja auf das Window davor gesetzt werden, sonst würde er ja versuchen im eigenen Fenster du schreiben.
Oder der Focus müsste einfach immer weg von meiner Tastatur sein.
Ich hab mir gedacht, dass wenn ich den Focus verliere der Case:
Code:
case WM_SETFOCUS:
{
...
return 0;
}
Aber dann müsste ich irgendwie wieder den Focus auf das letzte Window setzen.
Meine Tastatur müsste ja ausserdem immer im Vordergrund sein, aber ich weiß da auch nicht wie ich das mit dem WS_EX_TOPMOST machen soll. Zur Zeit hab ich das einfach in die Properties von meinem Window gesetzt:
Code:
wndclass.style = WS_EX_TOPMOST | CS_HREDRAW | CS_VREDRAW | WS_OVERLAPPED;
Nur da passiert auch nichts.
Ich weiß das ich nicht so wirklich der super Programmierer bin, aber ich hab schon alles mögliche gegoogelt und hier auch schon mit der Suchfunktion rumgeguckt, aber so wirklich bringt mich das auch nicht weiter.
Ich hoffe mir kann da wer ein paar Tipps geben die mir weiterhelfen.
Edit: Okay das mit dem TopMost hab ich jetzt hinbekommen. Jetzt darf das Window nur nicht mehr einen Focus bekommen!
Zuletzt bearbeitet: