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?