Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi MainMenü Schriftgröße ändern (https://www.delphipraxis.net/84160-mainmenue-schriftgroesse-aendern.html)

binio 12. Jan 2007 12:15


MainMenü Schriftgröße ändern
 
Hallo möchte in mein Delphiprogramm die obere Navigation (Datei, Bearbeiten, Ansicht, etc) in der Schriftgröße 11 darstellen. Nur leider finde ich bei Delphi kein Font bereich der das ermöglicht.
Ich kann weder die Schriftart noch die Schriftgröße bestimmen. Kann es sein das es garnicht möglich ist dies zu ändern ?

Mit freundlichen Grüßen

Robert Slowikowski

Luckie 12. Jan 2007 13:06

Re: MainMenü Schriftgröße ändern
 
Ich glaube, dass kann nur global über die Systemsteuerung eingestellt werden. Ansonsten musst du dein Menü wohl selber zeichnen.

binio 12. Jan 2007 13:47

Re: MainMenü Schriftgröße ändern
 
Selber Zeichnen kann ich die leider nicht da ich ein Programm für Blinde Entwickle und die Software keine Grafiken interpretieren kann ;(
Werde es wohl so klein lassen müssen ;(
Aber danke für die schnelle Antwort

binio 26. Jan 2007 07:57

Re: MainMenü Schriftgröße ändern
 
Mir ist nochmal eine Idee gekommen. Kann ich nicht die Windows-Schrifgröße von Delphi aus ändern während mein Programm offen ist ?
Wenn es dann wieder geschlossen wird, wird die Schriftgröße wieder zurückgesetzt.
Währe super wenn mir da jemand helfen könnte

Bernhard Geyer 26. Jan 2007 08:54

Re: MainMenü Schriftgröße ändern
 
[quote="binio"]Mir ist nochmal eine Idee gekommen. Kann ich nicht die Windows-Schrifgröße von Delphi aus ändern während mein Programm offen ist ?
Wenn es dann wieder geschlossen wird, wird die Schriftgröße wieder zurückgesetzt.
Evtl. bringt TElMainMenu etwas? Hier kann man unabhängig von den Systemeinstellungen die Schriftgröße des Menüs einstellen.

marabu 26. Jan 2007 09:32

Re: MainMenü Schriftgröße ändern
 
Hallo,

ich finde es sehr ärgerlich, wenn ich die zentralen Einstellmöglichkeiten von Windows benutze um eine auf meine Bedürfnisse angepasste Darstellung für alle Programme zu erzwingen, und dann muss ich feststellen, dass nicht alle laufenden Programme diese Einstellungen honorieren. Durch die individuelle Gestaltung des Menüs wird ein wesentliches Leistungsmerkmal des Betriebssystems unterlaufen - ein Bärendienst für alle Benutzer, die auf Accessability angewiesen sind.

Nachdenkliche Grüße

Bernhard Geyer 26. Jan 2007 10:12

Re: MainMenü Schriftgröße ändern
 
Zitat:

Zitat von marabu
ich finde es sehr ärgerlich, wenn ich die zentralen Einstellmöglichkeiten von Windows benutze um eine auf meine Bedürfnisse angepasste Darstellung für alle Programme zu erzwingen, und dann muss ich feststellen, dass nicht alle laufenden Programme diese Einstellungen honorieren. Durch die individuelle Gestaltung des Menüs wird ein wesentliches Leistungsmerkmal des Betriebssystems unterlaufen - ein Bärendienst für alle Benutzer, die auf Accessability angewiesen sind.

Stimme ich dir zu, aber MS macht es doch in den letzten Jahren verstärkt selbst da jeder IE/MediaPlayer/Office... mit seinen eigenen Vorstellung von GUI-Design herkommt. Sowas wie empfohlenes GUI-Design hat doch MS mittlerweile eine Halbwertszeit von Monaten bzw. Wochen.

binio 26. Jan 2007 16:41

Re: MainMenü Schriftgröße ändern
 
Leider hat mir das von "Bernhard Geyer" nicht geholfen. Ehrlichgesagt blicke ich da nicht durch :-(
Es wird wohl erstmal ungelöst für mich bleiben.

Matze 26. Jan 2007 16:48

Re: MainMenü Schriftgröße ändern
 
Hi,

vielleicht hilft dir dieses Thema weiter. Im letzten Beitrag ist auch eine Komponente angehängt.

binio 12. Feb 2007 09:39

Re: MainMenü Schriftgröße ändern
 
Danke für den Tip, aber leider hat das mir auch nicht weitergeholfen da er da Grafiken verändern kann aber keine Schriftgröße :(
TElMainMenu habe ich auch getestet und leider ohne Erfolg :(
Währe super wenn jemand noch eine Idee hätte.

Lieben Gruß
Rob

marabu 12. Feb 2007 10:20

Re: MainMenü Schriftgröße ändern
 
Hallo Robert,

ich stehe weiterhin zu meinem Beitrag #6 - aber wenn du die Komponente ActionMainMenuBar einsetzt, dann werden nicht unbedingt die Systemeinstellungen für das Zeichnen des Hauptmenüs verwendet:

Delphi-Quellcode:
procedure TMainForm.FormCreate(Sender: TObject);
begin
  // ActionMainMenuBar.Font.Assign(Screen.MenuFont); // use system settings
  ActionMainMenuBar.Font.Assign(Font); // use form settings
end;
Dein Weg führt aber eher zu mehr Problemen bei sehbehinderten Benutzern, da sie dann die in Windows immer weiter ausgebauten Erleichterungen (accessibility features) nicht für deine Anwendung nutzen können. Besser ist es seine Anwendung auf korrektes Verhalten zu testen, wenn entsprechende Einstellungen im Hilfe-Center (Eingabehilfen --> Funktionen für Benutzer mit stark eingeschränkter ... Sehkraft) gemacht werden. Nur so tust du wirklich etwas für die Barrierefreiheit.

Freundliche Grüße

binio 12. Feb 2007 11:07

Re: MainMenü Schriftgröße ändern
 
Danke für die schnelle Antwort nur habe ich ein Problem beim einbinden.
Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
  ActionMainMenuBar.font.Assign(20);
  mainmenu1.font.assign(20);
  ...
Code:
ActionMainMenuBar.font.Assign(20);
führt zu
Code:
[Pascal Error] Unit1.pas(582): E2003 Undeclared identifier: 'ActionMainMenuBar'
und
Code:
mainmenu1.font.assign(20);
zu
Code:
[Pascal Error] Unit1.pas(584): E2003 Undeclared identifier: 'font'
Meine Menübar trägt den Namen "Mainmenu1". Was mache ich den da jetzt falsch ?

Rob

marabu 12. Feb 2007 11:16

Re: MainMenü Schriftgröße ändern
 
TMainMenu ist etwas anderes als TActionMainMenuBar. Bei meiner Delphi-Version sind die Action-Komponenten auf der Palettenseite "Zusätzlich" installiert. Font.Assign(20) ist einfach nur falsch - du setzt die Standard-Schriftgröße beim Font deiner MainForm und übernimmst diesen Font so wie ich es dir gezeigt habe.

Freundliche Grüße

binio 13. Feb 2007 14:04

Re: MainMenü Schriftgröße ändern
 
Dein Tipp mit den ActionMainMenuBar ist Gold Wert :)
Damit klappt es auch. Nur hab ich jetzt ein anderes Problem.
Ich habe da die möglichkeit den BiDiMode auf bdLeftToRight zu stellen.
Wenn ich dies tuh und dann Kompiliere macht er aber von Rechts nach Links die Aufzählung der Menüeinträge
Wenn ich dann das Projekt schliesse und neu auf mache steht jedesmal unter BiDiMode bdRightToLeft.
Wpran kann das liegen ?

Rob

marabu 14. Feb 2007 08:06

Re: MainMenü Schriftgröße ändern
 
Hallo,

das kommt mir spanisch vor. Warum musst du ActionMainMenuBar.BidiMode überhaupt auf bdLeftToRight setzen? Es ist doch der Standardwert. Arbeitest du überhaupt mit dieser Eigenschaft - eventuell an anderen Stellen? Überprüfe das Verhalten mit einem Leerprojekt, in welchem du nur ActionMainMenuBar und ActionManager verwendest. So kannst du feststellen, ob das Problem von deinem eigenen Code abhängig ist.

Freundliche Grüße

binio 14. Feb 2007 13:17

Re: MainMenü Schriftgröße ändern
 
Joe ich hatte eine Globale Variable ParentBiDiMode auf False gesetzt gehabt. Nunr geht es.
Aber jetzt kommt das beste. Ich nutze Delphi 10 und mein Chef Delphi 6. in Delphi 6 kennt er die XPStyleActnCtrls.pas nicht und wenn ich mein Chef meine gebe gibt es ein Versionskonflikt.
Naja das wars dann wohl für mich mit der Idee.
Wenn ich die von Delphi 6 mitgelieferte TActionMainMenuBar nutze hat mein Chef der Blind ist nicht die möglichkeit diese mit einer Braillezeile zu lesen da auf der menüleite kein echter Focus ist.
Ok ich denke euch für die Hilfe ich werd nun gucken das wie die Delphi 10 erwerben oder vieleicht noch jemanden was einfällt wie man mein Problem auf andere weise lösen kann.

Danke vielmal
Rob

binio 5. Jun 2007 11:54

Re: MainMenü Schriftgröße ändern
 
Wir haben uns die neuste Version on Borland gekauft und nun können wir ActionMaineMenüs nutzen.
Eine frage ist jetzt aber offen.
In den Menüeinträgen wird ja die schrift der einzelnen Elemente durch
Delphi-Quellcode:
ActionMainMenuBar1.Font.Assign(Font);
bestimmt. Das heist wenn Font auf 20 ist sind die einzelnen Elemente von Actionmainemenü auch in der Schriftgröße. Aber das blöde ist das die einzlenen Elemente von der Höhe zu klein sind und dadurch der Text nicht ganz dargestellt werden kann.
Wo kann ich da Werte für setzen das die Menüeinträge in der Höhe größer sind ??

Danke schonmal im vorraus !!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz