Wie Border-farben und Name in jeder Instanz anders?

Für Fragen rund um die Ide und zum Debugger
martin_frb
Beiträge: 588
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: Wie Border-farben und Name in jeder Instanz anders?

Beitrag von martin_frb »

br_klaus hat geschrieben:
Socke hat geschrieben:
br_klaus hat geschrieben:Das verstehe ich nicht. Wieso muß zur Änderung der Farbe der Titelleiste einer Form diese Form verschoben werden?
Wie bereits geschrieben: Es wird aufgrund der Unmöglichkeit nicht die Windows-Titelleiste geändert, sondern eine eigene erstellt. Weiterhin wird nicht das Formular sondern dessen Inhalt verschoben.
Verstehe ich trotzdem nicht. was hat denn das mit Windows-Titelleiste zu tun? Benutzt Lazarus nur diese, und kann die nicht jedesmal individuell angepaßt werden?
Und wozu wird der Inhalt des Formulars verschoben (wohin denn verschoben? )?
Die Titel-leiste und der Fenster-rahmen (Windows decoration) werden vom System gezeichnet (Windows, QT, Window-Manager). Deshalb sehen die auch auf jedem System anders aus.

Eine Application weiss normalerweise nicht mal ob oder in welcher Groesse Sie existieren.

Wenn Du die selbst zeichnen willst, dann musst Du erst mal das original entfernen: Borderless Window.
Das ist das-selbe wie ein Flash-Screen.

Der Fenster Inhalt klebt dann aber direkt am Fenster Rand. Da ist kein platz mehr fuer eine Titel bar (und auch kein Rahmen). Das heisst alle Elemente in dem Fenster muessen, neu positioniert werden, um Platz zu machen.

Der Aufwand lohnt sich nicht.

Installiere Anchordocking (selbst wenn Du nicht dockst). Dann suche wo Anchordocking die dock handles zeichnet, und modifiziere die.
Immer noch sehr viel Arbeit, aber weniger als eigene Win-Dekorations.

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Re: Wie Border-farben und Name in jeder Instanz anders?

Beitrag von theo »

br_klaus hat geschrieben: Verstehe ich trotzdem nicht. was hat denn das mit Windows-Titelleiste zu tun? Benutzt Lazarus nur diese, und kann die nicht jedesmal individuell angepaßt werden?
Und wozu wird der Inhalt des Formulars verschoben (wohin denn verschoben? )?
Ich glaube in deinem Denkuniversum fehlt einfach das Konzept des Window Managers:
http://de.wikipedia.org/wiki/Fenstermanager
und damit die Tatsache, dass die Fensterleiste nicht deinem Programm gehört, sondern eben dem Fenstermanager.

Antworten