Interessant!
Was bewirken denn deine Message-Befehle?
Ich habe es gerade mal mit PanelGadget() getestet, denn Andere Fenster unterstützen Ctrl+Tab um durch die Registerkarten zu wechseln. Mit deinem Code funktioneirt das nicht.
Kannst du das vielleicht nen bisschen erklären?
AND51 hat geschrieben:Richtig: Innerhalb der Option-Gruppe wird mit Pfeiltasten gewählt!
Das ist ja unstrittig. Deshalb will ich das ja auch in mein Programm einbauen.
AND51 hat geschrieben:Deshalb ist es nicht nötig, dafür extra Code zu schreiben.
Falsch, denn ohne extra Code funktioniert es in PB nicht.
AND51 hat geschrieben:Habe es jedoch gerade überprüft: PureBasic versagt mal wieder.
Eben, und das hatte ich schon im Vorfeld festgestellt, sonst gäbe es nämlich diesen ganzen Thread gar nicht ...
Mit dem Code von Thomas ist das Problem in meinem Programm gelöst.
AND51 hat geschrieben:...Andere Fenster unterstützen Ctrl+Tab um durch die Registerkarten zu wechseln.
Ist das eigentlich genau so ein Standard, wie das Navigieren mit den Pfeiltasten (also ohne selbst dafür Eventroutinen schreiben zu müssen)?
Ich stelle nach Lesen dieses Threads nämlich auch fest, daß ich die Tabs in meinem derzeitigen Projekt nicht mit Strg-Tab wechseln kann - was ich nicht so super finde.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?" PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070 Useralter in 2025: 57 Jahre.
> Ich stelle nach Lesen dieses Threads nämlich auch fest, daß ich die Tabs in meinem derzeitigen Projekt nicht mit Strg-Tab wechseln kann - was ich nicht so super finde.
In PB-Programmen ist dies NICHT Standard. Warum kann ich nicht sagen. Ich weiß nur: Andere Programme unterstützen dies automatisch und in gleicher Weise.
Entweder gibt es dafür wirklich einen Extra-Code, was ich mir aber irgendwie nicht vorstellen kann, oder es gibt irgend einen Faktor, der PB-Programme negativ beeinflusst, sodass dies in eigenen Programmen nicht geht. Ich erinnere mich an mein altes Projekt, indem ich extra einen AddKeyboardShortcut() anlegen musste, nur um mir das Registerkarten-Wechseln selbst zu ermöglichen.
Andererseits hat es auch seinen Vorteil, dass dies nicht automatisch geht: So kann man die Tastenkombination Strg+Tab beliebig selbst benutzen oder auch andere Tastenkombinationen selbst wählen, mit denen das gehen soll.
Hinweis: Das Springen von Gadget zu Gadget mit Tab und das anschließende verändern durch Pfeil rauf/runter z. B. gerade bei OptionGadget() funktioniert nun wirklich in ALLEN Programmen. Teilweise auch in PB. In PB funzt leider nur TAB, wenn ich wie hier gewünscht OptionGadget() ändern will brauch ich wieder extra Code.
PB bietet dahingehend also nix halbes und nix ganzes, wie man so schön sagt. Daher finde ich das etwas unzuverlässig, was ich mit dem Ausdruck "PB hat versagt" zur Geltung bringen wollte.
AND51 hat geschrieben:...In PB funzt leider nur TAB, wenn ich wie hier gewünscht OptionGadget() ändern will brauch ich wieder extra Code...
Wenn ich Edels Beitrag richtig interpretiert habe, dann liegt das daran, daß sowas nur in Dialogen (von allein) funktioniert und nicht in Fenstern. Kann das ein Delphi/C/C++/sonstwas-Entwickler evtl. bestätigen?
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?" PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070 Useralter in 2025: 57 Jahre.
AUßer dem Internet Explorer fallen mir gerade keine weiteren Programme spontan ein. Und der Internet Explorer ist doch auch ein Fenster, oder hat der wohl auch extra Code drin? Und wie sieht das mit Firefox und den anderen Browsern aus?
// Edit:
Ah, zum Beispiel "DxDiag" fällt mir noch ein, der unterstützt das auch und das ist IMHO kein Dialog, da der ein Minimieren-Knopf hat, was Dialoge/Requester nicht haben:
START > AUSFÜHREN > DXDIAG > OK
> Dialoge koennen sowas von sich aus
Gibt es denn eine Möglichkeit, ein eigenes PB-Fenster als Dialog zu vermakrten? Dann müssten diese Dinge doch auch automatisch gehen, oder?
> DxDiag ist ein Dialog
Ja? Wie kann man das denn erkennen? Geht das schon rein äuerlich, weiß man sowas einfach oder muss man das mit nem speziellen Code erst herausfinden?
Ich war z. B. davon ausgegangen, dass es ein normales Fenster ist, da es einen Minimierenknopf hat und es in der Taskleiste sichtbar ist.