[Gelöst] TTabControl Resize selbst anpassen
-
- Beiträge: 1063
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
[Gelöst] TTabControl Resize selbst anpassen
Hi
Es war sehr leicht auf einem TTabControl zwei Speedbuttons zu verankern und die mittels Anchor-Einstellungen dazu zu bringen dass sie beim Resize des Forms an der richtigen Stelle bleiben. (Für die Funktionen "Tab hinzufügen" und "Tab löschen")
Ein TTabcontrol kann mehr Tabs haben als sich auf dem Formular ausgehen. Dann erscheinen zwei Buttons mit Pfeilen und man kann die Tabs scrollen (wie auf der Lazarus Komponentenpalette)
Mit den beiden Buttons rechts auf dem TTabcontrol müsste das Resize von anderen Werten ausgehen (nämlich korrigiert um die Buttonbreite plus Abständen). Außerdem schieben sich die Speedbuttons hinter die Tabs des TTabControls.
Ich hab nur keine Ahnung wie ich das einstellen oder angehen soll.
THX
Es war sehr leicht auf einem TTabControl zwei Speedbuttons zu verankern und die mittels Anchor-Einstellungen dazu zu bringen dass sie beim Resize des Forms an der richtigen Stelle bleiben. (Für die Funktionen "Tab hinzufügen" und "Tab löschen")
Ein TTabcontrol kann mehr Tabs haben als sich auf dem Formular ausgehen. Dann erscheinen zwei Buttons mit Pfeilen und man kann die Tabs scrollen (wie auf der Lazarus Komponentenpalette)
Mit den beiden Buttons rechts auf dem TTabcontrol müsste das Resize von anderen Werten ausgehen (nämlich korrigiert um die Buttonbreite plus Abständen). Außerdem schieben sich die Speedbuttons hinter die Tabs des TTabControls.
Ich hab nur keine Ahnung wie ich das einstellen oder angehen soll.
THX
- Dateianhänge
-
project1.zip
- (130.65 KiB) 66-mal heruntergeladen
Zuletzt geändert von charlytango am Sa 26. Jun 2021, 09:53, insgesamt 1-mal geändert.
Re: TTabControl Resize selbst anpassen
Habs mal probiert. Vielleicht ist es schon ein bisschen spät und es eine dumme Idee. Du könntest ein TTabControl zwischen Form Rand und den SpeedButtons verankern. Statt dem Client vom TTabControl was ja jetzt zu klein ist, könntest du ein TPanel darüber legen und nutzen.
Hab den Test mal angehangen.
Hab den Test mal angehangen.
- Dateianhänge
-
TabControlResize.zip
- (27.21 KiB) 66-mal heruntergeladen
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Beiträge: 1063
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: TTabControl Resize selbst anpassen
Ganz im Gegenteil !
Weder zu spät und schon gar nicht dumm.
Genau das ist es was ich an dieser Commmunity so mag. Neben der ungeheuren Hilfsbereitschaft auch die Fachkompetenz.
Wir sind alle gewohnt Probleme mit dem zu lösen was wir haben, um Themen rum zu denken. Aber oft steckt man in seinen eigenen Bäumen fest und sieht den Wald nicht.
Dann ist es toll wenn es jemand anderer kann.
Danke.
Ach ja: Wird die Höhe des TTabcontrol so verringert dass nur mehr die Tabreiter sichtbar sind, dann ist das nur ein schmales Band und das darüber liegende Panel ist nicht mehr unbedingt nötig.
Weder zu spät und schon gar nicht dumm.
Genau das ist es was ich an dieser Commmunity so mag. Neben der ungeheuren Hilfsbereitschaft auch die Fachkompetenz.
Wir sind alle gewohnt Probleme mit dem zu lösen was wir haben, um Themen rum zu denken. Aber oft steckt man in seinen eigenen Bäumen fest und sieht den Wald nicht.
Dann ist es toll wenn es jemand anderer kann.
Danke.
Ach ja: Wird die Höhe des TTabcontrol so verringert dass nur mehr die Tabreiter sichtbar sind, dann ist das nur ein schmales Band und das darüber liegende Panel ist nicht mehr unbedingt nötig.
-
- Beiträge: 219
- Registriert: Mo 3. Jan 2011, 13:34
- OS, Lazarus, FPC: Win11 (L 3.0 FPC 3.2.2)
- CPU-Target: 64Bit
- Wohnort: Nürnberg
Re: [Gelöst] TTabControl Resize selbst anpassen
Und hier als Minimalbeispiel, nur mit ExtendedTabControl und ohne SpeedButtons
Viel Spaß damit
Viel Spaß damit
- Dateianhänge
-
TabControlResize_2.0.zip
- (28 KiB) 71-mal heruntergeladen
-
- Beiträge: 1063
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: [Gelöst] TTabControl Resize selbst anpassen
Danke.kirchfritz hat geschrieben: Sa 26. Jun 2021, 17:54 Und hier als Minimalbeispiel, nur mit ExtendedTabControl und ohne SpeedButtons
Viel Spaß damit
Nur konnte ich bisher keine genaue Spezifikation finden inwiefern TExtendedTabControl sich von TTabControl unterscheidet (außer der aufgepfropften TToolBar). Und nach dem Hinweis die Speedbuttons und die TTabControl per AnchorEditor zu justieren komme ich zu einem identen Ergebnis ohne "Extended" TabControl.
Zudem bleibt das Problem des nicht ausgelösten OnChange-Events bestehen.
Es wird einfach nicht getriggert wenn man die Tabs wechselt.
Hab gerade noch getestet ob man auch eine TToolbar statt der SpeedButtons verwenden kann. Die Antwort ist JA. Lässt sich mit dem AnchorEditor leicht einstellen.
BTW: ecControls und bgraControls kann man entfernen, die sind für dein Beispiel nicht nötig.
Re: [Gelöst] TTabControl Resize selbst anpassen
OnChanging kommt, OnChange nicht. Generell erscheint mir die Komponente einen sehr unfertigen Zustand zu haben. Eine "Suche in Dateien" zeigt auch, dass die Komponente, im Gegensatz zu den anderen auf der LazControls-Lasche, nirgendwo in der IDE verwendet wird... --> ich würde die Finger davon lassen.charlytango hat geschrieben: Sa 26. Jun 2021, 22:31 Zudem bleibt das Problem des nicht ausgelösten OnChange-Events bestehen.
Es wird einfach nicht getriggert wenn man die Tabs wechselt.
-
- Beiträge: 1063
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: [Gelöst] TTabControl Resize selbst anpassen
schon passiert -- ich komme mit TTabControl und zwei Speedbuttons mit Anchorlayout (da hast du mich übrigens infiziert, das benutze ich immer mehr) hervorragend zurecht.