Auteur
Origineel door D7EE, in deze thread
Omschrijving
Procedure waarmee je de font color van een TBitBtn of een TSpeedButton** kunt
wijzigen met behulp van de MouseEnter en MouseLeave Message.
Code
Hieronder een volledige unit welke werkt alszijnde voorbeeld, even een
TBitBtn of een TSpeedButton op het Form zetten en klaar ben je.
Code:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Graphics, Forms,
Buttons, Controls, Classes, StdCtrls;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
private
procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE;
procedure UpdateButton(Param: lParam; fActivate: Boolean);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.CMMouseEnter(var Msg: TMessage);
begin
inherited;
UpdateButton(Msg.lParam, True);
end;
procedure TForm1.CMMouseLeave(var Msg: TMessage);
begin
inherited;
UpdateButton(Msg.lParam, False);
end;
procedure TForm1.UpdateButton(Param: LParam; fActivate: Boolean);
begin
if not (TObject(Param) is TBitBtn) then
Exit;
with TBitBtn(Param).Font do
begin
if fActivate then
Color := clRed
else
Color := clBtnText;
end;
end;
end.
** indien je in de code wel de TBitBtn class aanpast.
Bookmarks