Wie Border-farben und Name in jeder Instanz anders?
Re: Wie Border-farben und Name in jeder Instanz anders?
Ja, mich würde sowas auch interessieren. Ich öffne manchmal eine zweite Instanz, um ein Beispielprojekt aus der Lazarus-Installation anzusehen. Weil Lazarus nur ein einziges Projekt verarbeiten kann, müsste ich sonst mein eigentliches Projekt schließen. Wenn man die beiden Instanzen besser unterscheiden könnte, wäre das hilfreich. br_klaus, vielleicht sollten wir einen Feature-Request im Bug-Tracker machen?
Re: Wie Border-farben und Name in jeder Instanz anders?
Das kannst du komplett vergessen. Das wird niemals akzeptiert, das ist einfach zu schräg.wp_xyz hat geschrieben:vielleicht sollten wir einen Feature-Request im Bug-Tracker machen?
Ich wette, dieses "Feature" würde sogar zurückgewiesen, wenn du einen Patch einsendest (Bitte auf allen Plattformen und Window Managern testen).
Mein Tipp: Lasst die Entwickler damit in Ruhe.
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Wie Border-farben und Name in jeder Instanz anders?
Nutzer möchten auf Ihren Rechnern normalerweise auch entscheiden. Individualisierung von Benutzeroberflächen war in den 90gern.
Heute soll ein Programm sich ins System intigrieren.
Heute soll ein Programm sich ins System intigrieren.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Wie Border-farben und Name in jeder Instanz anders?
Sehe ich auch so.Christian hat geschrieben:Nutzer möchten auf Ihren Rechnern normalerweise auch entscheiden. Individualisierung von Benutzeroberflächen war in den 90gern.
Heute soll ein Programm sich ins System intigrieren.
Ich sagte, die wichtigsten Funktionalitäten seien recht simpel zu implementieren. Die Titelleiste kann noch wesentlich mehr, als nur das Fenster durch die Gegend zu schieben. Insbesondere müssen alle Funktionalitäten auch für Personen mit eingeschränkten Bedienungsmöglichkeiten verwendbar bleiben. Dieser Punkt wird gerne außer Acht gelassen.br_klaus hat geschrieben:Wenn es so simpel zu implementieren ist, kannst Du mir bitte sagen, wie ich das beim Lazarusprogramm machen kann? Ich kenne mich da leider überhaupt nicht aus.Socke hat geschrieben:Die Lazarus-Entwickler machen das nicht, weil es für Lazarus unnötig und für eigene Anwendungen für die wichtigsten Funktionalitäten recht simpel zu implementieren ist.
Welche Units müßte ich dazu ändern und was tun, daß zB der Titelbalken rot wird (und auch die anderen Fenster alle eine Rotfärbung erhalten) und der Name geändert wird?
Beispiel:
- Formular auf "Ohne Rahmen" einstellen
- Ein TImage (oder TPaintBox oder was ganz anderes) auf dem Formular ablegen (aka Titelleiste)
- In den Events OnMouseDown und OnMouseUp der Titelleiste den Zustand in einer Variablen zwischenspeichern
- Im OnMouseMove Event der Titelleiste das Formular verschieben
- Für alle Icons entsprechende Komponenten ablegen und diese Implementieren (unter anderem Anwendungs-Icon, Schaltflächen zum Schließen, Maximieren/Normalgröße, Minimieren, Hilfe-Funktion)
- Komponenten an die richtige Position schieben
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: Wie Border-farben und Name in jeder Instanz anders?
Und wenn es halbwegs professionell und cross-platform sein soll, bitte noch das ganze Doppelclick-und Rechtsclick-verhalten des jeweiligen Window Managers implementieren.
Anbei ein Screenshot von einem KWin Rechtsclick auf der Titelleiste als Anregung.
Viel Spaß!
Anbei ein Screenshot von einem KWin Rechtsclick auf der Titelleiste als Anregung.
Viel Spaß!
-
- Beiträge: 244
- Registriert: Do 21. Jan 2010, 22:33
- OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
- CPU-Target: 32Bit
- Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)
Re: Wie Border-farben und Name in jeder Instanz anders?
Das muß man alles beachten, wenn man nur die Farbe (und den Titel) ändern will? Brauche ich dazu wirklich ein eigenes Timage oder Paintbox? Und eigene MouseEvents? Da ändert sich doch überhaupt nichts, nur andere Farbe (und anderen Titel).Socke hat geschrieben:Beispiel:
- Formular auf "Ohne Rahmen" einstellen
- Ein TImage (oder TPaintBox oder was ganz anderes) auf dem Formular ablegen (aka Titelleiste)
- In den Events OnMouseDown und OnMouseUp der Titelleiste den Zustand in einer Variablen zwischenspeichern
- Im OnMouseMove Event der Titelleiste das Formular verschieben
- Für alle Icons entsprechende Komponenten ablegen und diese Implementieren (unter anderem Anwendungs-Icon, Schaltflächen zum Schließen, Maximieren/Normalgröße, Minimieren, Hilfe-Funktion)
- Komponenten an die richtige Position schieben
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Wie Border-farben und Name in jeder Instanz anders?
Wenn du wirklich nur die Farbe ändern willst, kannst du die auch direkt auf das Formular zeichnen. Den Rest musst du natürlich immer noch implementieren um dem Benutzer eine gewohnte Umgebung zu bieten.br_klaus hat geschrieben:Das muß man alles beachten, wenn man nur die Farbe (und den Titel) ändern will? Brauche ich dazu wirklich ein eigenes Timage oder Paintbox? Und eigene MouseEvents? Da ändert sich doch überhaupt nichts, nur andere Farbe (und anderen Titel).
Alternativ änderst du dem Benutzer einfach das Farbschema des Window-Managers/Windows. Damit ändert sich die Farbe bei deinem Programm und bei allen anderen Programmen auch. Gleichzeitig bringst du den Benutzer gegen dich auf, weil du seine Einstellungen ungefragt änderst.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- 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?
Muss es den die Titel-leiste sein?
Wenn es nur um das betrachten von sources geht, dann ändere doch die Gutter-Farbe im Editor.
Dafuer brauchst du eine komplett eigenständige Zweit-Installation. Mit eigenem "--primary-config-path" (google)
Die IDE bar, enthaelt ja den Project Titel (tip: In den Optionen einstellen, das Projekt Name als erstes vor deb Wort "Lazarus" angezeigt wird. Dann sieht man den auch im Task-Bar-Button.
---
Oder probiere mal die IDE mit/ohne Manifest zu bauen...
Ohne Manifest ist die app "old style"
---
Ansonsten "AnchorDocking" installieren. Das zeichnet in JEDEM Fenster eine interne dock/drag-Bar. Da kann man sicher die Farbe aendern (im Quellcode).
Musst du selber suchen, kann ich Dir nicht helfen.
Wenn es nur um das betrachten von sources geht, dann ändere doch die Gutter-Farbe im Editor.
Dafuer brauchst du eine komplett eigenständige Zweit-Installation. Mit eigenem "--primary-config-path" (google)
Die IDE bar, enthaelt ja den Project Titel (tip: In den Optionen einstellen, das Projekt Name als erstes vor deb Wort "Lazarus" angezeigt wird. Dann sieht man den auch im Task-Bar-Button.
---
Oder probiere mal die IDE mit/ohne Manifest zu bauen...
Ohne Manifest ist die app "old style"
---
Ansonsten "AnchorDocking" installieren. Das zeichnet in JEDEM Fenster eine interne dock/drag-Bar. Da kann man sicher die Farbe aendern (im Quellcode).
Musst du selber suchen, kann ich Dir nicht helfen.
-
- Beiträge: 244
- Registriert: Do 21. Jan 2010, 22:33
- OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
- CPU-Target: 32Bit
- Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)
Re: Wie Border-farben und Name in jeder Instanz anders?
Eine Änderung des Windows Farbschemas bringt ja nichts. Da ändern sich ja alle Programme. Ich will ja unterschiedliche Farben je nach Lazarus Instanz.Socke hat geschrieben:Wenn du wirklich nur die Farbe ändern willst, kannst du die auch direkt auf das Formular zeichnen. Den Rest musst du natürlich immer noch implementieren um dem Benutzer eine gewohnte Umgebung zu bieten.
Alternativ änderst du dem Benutzer einfach das Farbschema des Window-Managers/Windows. Damit ändert sich die Farbe bei deinem Programm und bei allen anderen Programmen auch. Gleichzeitig bringst du den Benutzer gegen dich auf, weil du seine Einstellungen ungefragt änderst.
Wie mache ich das dann konkret bei Lazarus (direkt auf das Formular zeichnen)? Auf welches Formular? die Mainform? und auch alle anderen Formen? Kannst du mir einen kleinen Beispielcode geben, wie ich das bei einer der Lazarusformen machen kann? Und was meinst du mit dem "Rest", der dann noch implementiert werden muss?
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Wie Border-farben und Name in jeder Instanz anders?
Ich sprach allgemein von selbst erstellten Anwendungen; nicht von Lazarus als fertiges Programm. Da Lazarus bereits befüllte Formulare hat, müssten diese zusätzlich noch verschoben werden, damit genug Platz für eine Titelleiste verfügbar ist.br_klaus hat geschrieben:Wie mache ich das dann konkret bei Lazarus (direkt auf das Formular zeichnen)? Auf welches Formular? die Mainform? und auch alle anderen Formen? Kannst du mir einen kleinen Beispielcode geben, wie ich das bei einer der Lazarusformen machen kann? Und was meinst du mit dem "Rest", der dann noch implementiert werden muss?
Welches Formular: Jedes, das geändert werden soll.
Beispielcode: Leider nicht
Rest: Als Beispiel hatte ich die Funktionalität "Fenster verschieben" angeführt. Der Rest sind alle anderen Funktionen (Größe, Schließen, Kontextmenü etc.)
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 244
- Registriert: Do 21. Jan 2010, 22:33
- OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
- CPU-Target: 32Bit
- Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)
Re: Wie Border-farben und Name in jeder Instanz anders?
Das verstehe ich nicht. Wieso muß zur Änderung der Farbe der Titelleiste einer Form diese Form verschoben werden?Socke hat geschrieben:Ich sprach allgemein von selbst erstellten Anwendungen; nicht von Lazarus als fertiges Programm. Da Lazarus bereits befüllte Formulare hat, müssten diese zusätzlich noch verschoben werden, damit genug Platz für eine Titelleiste verfügbar ist.
Welches Formular: Jedes, das geändert werden soll.
Beispielcode: Leider nicht
Rest: Als Beispiel hatte ich die Funktionalität "Fenster verschieben" angeführt. Der Rest sind alle anderen Funktionen (Größe, Schließen, Kontextmenü etc.)
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Wie Border-farben und Name in jeder Instanz anders?
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.br_klaus hat geschrieben:Das verstehe ich nicht. Wieso muß zur Änderung der Farbe der Titelleiste einer Form diese Form verschoben werden?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: Wie Border-farben und Name in jeder Instanz anders?
Ich nutze Windows (weiss nicht, ob das bei Linux/MAC anders ist). Wenn ich eine neue Instanz von Lazarus öffne steht doch in der Taskleiste "Lazarus IDE v. ... <Projektname>". Wozu dann noch zusätzlich die Farbe ändern?!
Bzw. könnte man evtl. diesen Hinweis in der Taskleiste evtl. deutlicher gestalten, welche Instanz genutzt wird, indem man statt "Lazarus IDE v...." nur das Lazarusicon und dann gleich das geöffnete Projekt dahinter schreibt?!
Nur so ne Idee...
Bzw. könnte man evtl. diesen Hinweis in der Taskleiste evtl. deutlicher gestalten, welche Instanz genutzt wird, indem man statt "Lazarus IDE v...." nur das Lazarusicon und dann gleich das geöffnete Projekt dahinter schreibt?!
Nur so ne Idee...
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- 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?
Laesst sich in den Optionen einstellenMichl hat geschrieben:Ich nutze Windows (weiss nicht, ob das bei Linux/MAC anders ist). Wenn ich eine neue Instanz von Lazarus öffne steht doch in der Taskleiste "Lazarus IDE v. ... <Projektname>". Wozu dann noch zusätzlich die Farbe ändern?!
Bzw. könnte man evtl. diesen Hinweis in der Taskleiste evtl. deutlicher gestalten, welche Instanz genutzt wird, indem man statt "Lazarus IDE v...." nur das Lazarusicon und dann gleich das geöffnete Projekt dahinter schreibt?!
Nur so ne Idee...
-
- Beiträge: 244
- Registriert: Do 21. Jan 2010, 22:33
- OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
- CPU-Target: 32Bit
- Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)
Re: Wie Border-farben und Name in jeder Instanz anders?
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?Socke hat geschrieben: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.br_klaus hat geschrieben:Das verstehe ich nicht. Wieso muß zur Änderung der Farbe der Titelleiste einer Form diese Form verschoben werden?
Und wozu wird der Inhalt des Formulars verschoben (wohin denn verschoben? )?