Hallo,
ich setzte durch folgenden Code mittels eigener Actions den Font über ein TdxBarFontNameConmoBox:
Delphi-Quellcode:
procedure TrwRTFFontName.doFontNameChange(Sender: TObject);
begin
// Fontname der Combobox geändert
if FLockUpdate
then
Exit;
if IsValidControl(FActiveControl)
then
begin
// Standart RTF
if FActiveControl
is TCustomRichEdit
then
(FActiveControl
as TCustomRichEdit).SelAttributes.
Name := FFontNameCombo.Text
else
// WPTools
begin
with (FActiveControl
as TWPCustomRichText)
do
begin
if IsSelected
then
begin
SelectedTextAttr.BeginUpdate;
SelectedTextAttr.SetFontName(FFontNameCombo.Text);
SelectedTextAttr.EndUpdate;
end
else
begin
CurrAttr.BeginUpdate;
CurrAttr.FontName := FFontNameCombo.Text;
CurrAttr.EndUpdate;
end;
// Sollte eigentlich Modified verändern???
ChangeApplied;
end;
end;
end;
end;
Klappt auch wunderbar, aber nach dem Post des DataSet sind die Änderungen wieder weg.
Das trifft auch für FontColor und FontSize zu.
Wenn ich aber eine weitere Änderung mache - z.B. nur ein Leerzeichen irgendwo eingebe - dann wird gespeichert. Es sieht also so aus, als ob er der Meinung ist, dass keine Änderung erfolgte und deshalb die Änderungen verwirft.
Ich habe allerdings in den Sourcen immer nur das ChangeApplied gefunden, welches
IMHO ja auch Modified setzten sollte.
Was muss ich ändern, damit er auch dann speichert, wenn ich nur den Font verändert habe?
Danke, Frank