AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TFontdialog.Options lesen?

Ein Thema von · begonnen am 7. Jan 2004 · letzter Beitrag vom 7. Jan 2004
Antwort Antwort
(Gast)

n/a Beiträge
 
#1

TFontdialog.Options lesen?

  Alt 7. Jan 2004, 15:03
Hallo, ich habe eine "kleine" Frage.

Ich will für mehrere Controls den Fontdialog starten. Sind die Fonts unterschiedlich, soll die Schriftart nicht gesetzt sein.
if bNoCommonFontFace then FontDialog.Options:=FontDialog.Options + [fdNoFaceSel]; Aber wie finde ich denn raus, ob der Benutzer im Dialog einen Font ausgewählt hat? Das Flag bleibt bei den Options immer gesetzt, darüber geht das also nicht.

Falls mir hier jemand weiterhelfen kann, wäre es toll.

Danke, Euer Axel
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TFontdialog.Options lesen?

  Alt 7. Jan 2004, 15:09
Das ist wohl etwas, was MS so nicht als Option vorgesehen hat, aber folgender Code wäre ein mögliches Workaround:

Delphi-Quellcode:
  FontDialog1.Options := FontDialog1.Options + [fdNoFaceSel];
  // Namen auf #0 setzen
  FontDialog1.Font.Name := #0;
  if FontDialog1.Execute then
    // wenn name nicht #0 dann
    if FontDialog1.Font.Name <> #0 then
      Label1.Caption := FontDialog1.Font.Name
    else
      // sonst keine neue Font gewählt
      Label1.Caption := '*wuppdi*';
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
(Gast)

n/a Beiträge
 
#3

Re: TFontdialog.Options lesen?

  Alt 7. Jan 2004, 15:19
Hallo Sakura,

danke für die schnelle Antwort, geht prima mit FontFaces.

Was ist aber z.B. mit den Styles? Ist ja ein leider Set, und der Status "leer" eines Sets ja auch ein gültiger Status ist (also kein Fett, kein Italic etc.)

Delphi-Quellcode:
  FontDialog1.Options := FontDialog1.Options + [fdNoFaceSel] + [fdNoStyleSel];
  // Namen auf #0 setzen
  FontDialog1.Font.Name := #0;
  if FontDialog1.Execute then
    // wenn name nicht #0 dann
    if FontDialog1.Font.Name <> #0 then
      Label1.Caption := FontDialog1.Font.Name
    else
      // sonst keine neue Font gewählt
      Label1.Caption := '*wuppdi*';
      if Fontdialog1.Font.Style=nil ???
Eine Idee?

Danke Axel
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: TFontdialog.Options lesen?

  Alt 7. Jan 2004, 15:24
Zitat von minimops:
Eine Idee?
Leider nicht. Am einfachsten wäre es wohl den Font-Dialog nachzubasteln und dann alles selbst zu erledigen.

Falls Du es so machen willst, die Schriften könnte man auf folgende Art in eine Listbox laden:
Delphi-Quellcode:
Listbox1.Items.Clear;
Listbox1.Items.AddStrings(Screen.Fonts);
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
(Gast)

n/a Beiträge
 
#5

Re: TFontdialog.Options lesen?

  Alt 7. Jan 2004, 16:00
HalloSakura,

ich schau mal, ob ich noch etwas finde. Vielen Dank für Deine Hilfe! Falls sonst noch irgendwer eine Idee hat, ich würde mich sehr freuen.

Gruß Axel
  Mit Zitat antworten Zitat
Benutzerbild von Thunderchild
Thunderchild

Registriert seit: 12. Nov 2003
Ort: Nohra
139 Beiträge
 
Delphi 7 Personal
 
#6

Re: TFontdialog.Options lesen?

  Alt 7. Jan 2004, 16:27
Zitat von minimops:
Was ist aber z.B. mit den Styles? Ist ja ein leider Set, und der Status "leer" eines Sets ja auch ein gültiger Status ist (also kein Fett, kein Italic etc.)
Sets lassen sich doch miteinander vergleichen.
Machste Dir ne lokale OldStyle:tFontStyle und speicherst da drin den Style for dem Dialogaufruf.
Anschließend vergleichste: ergebnis:=OldStyle=FontDialog.Font.Style;
Das letzte Schöne, das in C geschrieben wurde, war Schuberts 9. Sinfonie.
Meine Softwareseite (Link aktualisiert am 13.12.2006).
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: TFontdialog.Options lesen?

  Alt 7. Jan 2004, 17:02
Zitat von Thunderchild:
Sets lassen sich doch miteinander vergleichen.
Damit lässt sich aber nicht feststellen, ob der User die Einstellungen nicht geändert hat (jede Control behält ihre Einstellungen) oder ob der User diese Einstellungen jetzt auf alle Controls anwenden will

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz