Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bold Button wieder deaktivieren? (https://www.delphipraxis.net/101379-bold-button-wieder-deaktivieren.html)

T.E. 12. Okt 2007 06:52


Bold Button wieder deaktivieren?
 
Hallo!

Ich hab mein Programm mit einer Bold procedure erweitert, die wie foglt aussieht:
Delphi-Quellcode:
procedure TTMPV.ToolButton14Click(Sender: TObject);
begin
ToolButton14.Down := true;
if ToolButton14.Down then
begin
TempVIewer.SelAttributes.Style:=TempViewer.SelAttributes.Style + [fsBold];
TempViewer.SetFocus;
end else
begin
TempVIewer.SelAttributes.Style:=TempVIewer.SelAttributes.Style - [fsBold];
TempViewer.SetFocus;
end;
end;
So soweit klappt das auch...nur weiß ich nit wirklich wie ich das schaffen soll den Button wieder auf
Delphi-Quellcode:
ToolButton14.Down := false;
setzen kann... hat da jemand einen guten tipp??

EDIT: Im Moment habe ich die "Lösung" mit OnContextPopup...
Delphi-Quellcode:
procedure TTMPV.ToolButton14ContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
begin
ToolButton14.Down := false;
TempVIewer.SelAttributes.Style:=TempVIewer.SelAttributes.Style - [fsBold];
TempViewer.SetFocus;

end;
aber die hat ja den Nachteil das man jedes mal erst mit der rechten maustaste klicken muss...

alzaimar 12. Okt 2007 07:23

Re: Bold Button wieder deaktivieren?
 
Dein Button ist doch nicht nur eine Schaltfläche, die eine Aktion auslöst, sondern auch ein Indikator, der das Schriftattribut 'Bold' des selektierten Texts anzeigt.

Du musst also einerseits dem Knopf sagen, was er machen soll, wen er gedrückt wird (hast du schon gemacht), aber andererseits dem (nehme ich an: TRichMemo)-Control noch mitteilen, das es den Buttoni entsprechend der aktuellen Selektion darstellen soll.

Blackheart 12. Okt 2007 07:26

Re: Bold Button wieder deaktivieren?
 
ToolButton kenn Ich zwar nicht aber eventuell so
Delphi-Quellcode:
ToolButton.Down := not ToolButton.Down;

marabu 12. Okt 2007 07:56

Re: Bold Button wieder deaktivieren?
 
Moin,

so geht's: Der Style des ToolButton wird auf tbsCheck gesetzt, eventuell AllowAllUp noch auf True und die Eigenschaft Down wird nur noch gelesen.

Delphi-Quellcode:
procedure TTMPV.ToolButton14Click(Sender: TObject);
begin
  with TempViewer.SelAttributes do
  begin
    if (Sender as TToolButton).Down
      then Style := Style + [fsBold]
      else Style := Style - [fsBold];
    SetFocus;
  end;
end;
Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 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