Fokus-Rechteck und Manifest



  • Hallo,

    ich habe da ein sehr seltsames Phänomen im Zusammenhang mit dem Programm-Manifest unter XP:

    Mein Programm verwendet ein solches Manifest als Datei (also nicht in einer Resource). Die Datei ist richtig benannt und liegt auch im selben Ordner wie die EXE. Das Manifest funktioniert auch, d.h. die Controls werden im XP-Stil angezeigt.

    Aber: Wenn ich das Programm durch Doppelklick auf dem Desktop starte, haben die Controls (z.B. Buttons, Listboxen, Checkboxen usw. ich habe sie nicht alle ausprobiert) keinen Fokus-Rahmen mehr! Die Programme funktionieren einwandfrei, nur fehlt eben dieses kleine, gepunktete Rechteck um das Cotrol, das den Fokus hat.

    Noch kurioser aber ist, daß dieses Problem nicht auftritt, wenn ich ein solches Programm von der Kommandozeile aus starte!

    Ich weiß wirklich nicht, was ich davon halten soll. Hat jemand auch dieses Problem - oder weiß gar eine Lösung? Ich wäre für jeden Tip dankbar.

    Ach ja: Ich verwende GCC (MinGW-Edition) V 3.2.

    Danke
    Stefan.



  • Das ist normales Verhalten unter Windows 2000/XP. Das müsste ohne Manifest-Datei genau das Gleiche sein.

    Wenn du deinen Dialog per Tastatur öffnest, haben die Controls ein Focus-Rect, mit der Maus nicht (bis du Tab oder die Pfeiltasten nutzt).



  • Hmmm, da habe ich mich wohl etwas unklar ausgedrückt: Die Controls haben *nie* diesen Fokus-Rahmen, also nicht nur gleich nach dem Start. Ein Button z.B. zeigt diesen Rahmen nicht an, selbst wenn er den Fokus hat, etwa, weil ich ihn anklicke.
    Daß das nicht normal ist, sehe ich ja, wenn es kein Manifest gibt. Oder wenn ich ein Programm mit Manifest von der Kommandozeile aus starte.

    Stefan.



  • Du hast dich schon klar ausgedrückt - nur hast du nicht verstanden. Klick mal deinen Button an und drück dann die TAB-Taste.



  • Ein Button z.B. zeigt diesen Rahmen nicht an, selbst wenn er den Fokus hat, etwa, weil ich ihn anklicke.

    Und wenn du Tab oder die Pfeiltasten drückst? Bekommen die Controls dann das Fokus-Rect?

    Die Controls kriegen wie gesagt nur das Fokus-Rect, wenn du die Tastatur benutzt.



  • . schrieb:

    Und wenn du Tab oder die Pfeiltasten drückst? Bekommen die Controls dann das Fokus-Rect?

    Die Controls kriegen wie gesagt nur das Fokus-Rect, wenn du die Tastatur benutzt.

    Es spielt keine Rolle, wie man die Controls anspricht (Maus oder Tastatur), der Fokus ist nie kenntlich.

    Übrigens stimmt das nicht, daß das Fokus-Rect nur angezeigt wird, wenn man die Tastatur benutzt. Ein Control zeigt diesen Rahmen, wenn es den Fokus hat - ganz gleich, wie es ihn bekommen hat.

    Stefan.



  • Übrigens stimmt das nicht, daß das Fokus-Rect nur angezeigt wird, wenn man die Tastatur benutzt. Ein Control zeigt diesen Rahmen, wenn es den Fokus hat - ganz gleich, wie es ihn bekommen hat.
    

    Na gut :p

    Dann ist das halt nur bei mir so. 🤡 🤡 🤡

    😡



  • DStefan schrieb:

    Übrigens stimmt das nicht, daß das Fokus-Rect nur angezeigt wird, wenn man die Tastatur benutzt. Ein Control zeigt diesen Rahmen, wenn es den Fokus hat - ganz gleich, wie es ihn bekommen hat.

    Nein! Vielleicht probierst du auch mal aus, was man dir sagt. Wenn du in WinXP nur mit der Maus arbeitest, gibt es eben keinen sichtbaren Fokus per FocusRect. Das war nur unter Win9x, WinNT und Win2000 so. Wenn du allerdings mit der Tastatur arbeitest (z.B. mit der TAB-Taste), dann wird dieses FocusRect auch angezeigt. Dieses Verhalten ist doch auch eigentlich ganz logisch.


Anmelden zum Antworten