Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#4

AW: Font.Style ins Clientdataset Laden

  Alt 7. Dez 2013, 17:42
Hallo Habe eine Datenbank mit nem Clientdataset und ner Datasource und möchte nun von einem TButton die Eigenschaft Font.style in die DB laden.
Du mußt für jeden der möglichen Styles ein Boolean-Feld anlegen. Ich hab hier mal ein Beispiel, wie man den Style eines selektierten Textes in einem RichEdit in die Checked-Properties eines PopUp-Menüs überträgt:
Delphi-Quellcode:
procedure TFormMain.Popup_RichEdPopup(Sender: TObject);
begin
     IF DBRichEd_Inhalt.SelAttributes.Style = [] THEN
     BEGIN
          PuP_Red_Normal.Checked := TRUE;
          PuP_Red_Fett.Checked := FALSE;
          PuP_Red_Kursiv.Checked := FALSE;
          PuP_Red_ULine.Checked := FALSE;
     END;
     IF DBRichEd_Inhalt.SelAttributes.Style = [fsBold] THEN
     BEGIN
          PuP_Red_Normal.Checked := FALSE;
          PuP_Red_Fett.Checked := TRUE;
          PuP_Red_Kursiv.Checked := FALSE;
          PuP_Red_ULine.Checked := FALSE;
     END;
     IF DBRichEd_Inhalt.SelAttributes.Style = [fsItalic] THEN
     BEGIN
          PuP_Red_Normal.Checked := FALSE;
          PuP_Red_Fett.Checked := FALSE;
          PuP_Red_Kursiv.Checked := TRUE;
          PuP_Red_ULine.Checked := FALSE;
     END;
     IF DBRichEd_Inhalt.SelAttributes.Style = [fsUnderline] THEN
     BEGIN
          PuP_Red_Normal.Checked := FALSE;
          PuP_Red_Fett.Checked := FALSE;
          PuP_Red_Kursiv.Checked := FALSE;
          PuP_Red_ULine.Checked := TRUE;
     END;
     IF DBRichEd_Inhalt.SelAttributes.Style = [fsBold,fsItalic] THEN
     BEGIN
          PuP_Red_Normal.Checked := FALSE;
          PuP_Red_Fett.Checked := TRUE;
          PuP_Red_Kursiv.Checked := TRUE;
          PuP_Red_ULine.Checked := FALSE;
     END;
     IF DBRichEd_Inhalt.SelAttributes.Style = [fsBold,fsUnderline] THEN
     BEGIN
          PuP_Red_Normal.Checked := FALSE;
          PuP_Red_Fett.Checked := FALSE;
          PuP_Red_Kursiv.Checked := FALSE;
          PuP_Red_ULine.Checked := TRUE;
     END;
     IF DBRichEd_Inhalt.SelAttributes.Style = [fsItalic,fsUnderline] THEN
     BEGIN
          PuP_Red_Normal.Checked := FALSE;
          PuP_Red_Fett.Checked := FALSE;
          PuP_Red_Kursiv.Checked := TRUE;
          PuP_Red_ULine.Checked := TRUE;
     END;
     IF DBRichEd_Inhalt.SelAttributes.Style = [fsBold,fsItalic,fsUnderline] THEN
     BEGIN
          PuP_Red_Normal.Checked := FALSE;
          PuP_Red_Fett.Checked := TRUE;
          PuP_Red_Kursiv.Checked := TRUE;
          PuP_Red_ULine.Checked := TRUE;
     END;
end;
Falls du nicht gleich verstehst, was ich hier mache: Ich hab ein PopUpMenü, das verschiedene Einträge für Schriftstyles enthält: Normal, Fett, Kursiv, ULine. Diese Einträge können nun einen Haken haben (checked) oder auch nicht. Analog dazu kannst du dir deine Boolean-Felder in der Tabelle vorstellen. Das Normal-Feld kannst du natürlich weglassen, das definiert sich ja schon dadurch, daß eines der anderen Felder True ist. Alles klar?
  Mit Zitat antworten Zitat