Focus-Problem



  • Hi,

    ich habe ein Adressbuch in C/C++/WinApi geschrieben.
    http://b.imagehost.org/t/0759/screenshot.jpg

    Jedoch glaube ich, dass ich da ein Problem mit dem Focus der Windows habe.
    Wenn ich da irgendwas in eine EditBox schreibe und der Mauszeiger innerhalb meines parentwindow ist, dann verschwindet der Mauszeiger Crying or 😢 .
    Wenn ich den zeiger dann aber bewege taucht er wieder auf.
    Außerdem funktioniert die WM_KEYDOWN-Message aus irgendeinem Grund nicht 😢 .

    Hier der Source-Code und die kompilierte exe

    Ich weiß einfach nicht weiter und finde den fehler nicht -.-
    Kann mir da einer helfen?



  • Also das der Mauszeiger bei Tastatureingabe verschwindet, ist normal (vergleiche mit dem "Windows Texteditor"). Kann man IMHO auch abstellen.
    Tastenkürzel werden nicht mit WM_KEYDOWN, sondern über Accelerator-Tables (meistens als Resourcen) realisiert 😉 .



  • was? Wie Accelerator-Tables ?? Davon habe ich ja noch nie gehört ??
    Also bei anderen Projekten funktionierte das mit WM_KEYDOWN, warum sollte das hier nicht funktionieren??



  • Wenn der Focus aus irgendeinem Grunde verschwindet, dann kann man ihn jederzeit mit Setfocus() neu setzen. Ausprobieren!



  • RebornX schrieb:

    was? Wie Accelerator-Tables ?? Davon habe ich ja noch nie gehört ??

    Ahja, interessant. Dann schau mal in die MSDN.

    RebornX schrieb:

    Also bei anderen Projekten funktionierte das mit WM_KEYDOWN, warum sollte das hier nicht funktionieren??

    Weil ein anderes Steuerelement den Fokus hat...bei Accelerator wird dies korrekt brücksichtigt. Das ist auch der offizielle Weg - alles andere ist Gefriemel!

    berniebutt schrieb:

    Wenn der Focus aus irgendeinem Grunde verschwindet, dann kann man ihn jederzeit mit Setfocus() neu setzen. Ausprobieren!

    Hm stimmt, aber damit bekämmft er lediglich die Folgen - nicht die Ursachen 😃 .


Anmelden zum Antworten