CRIANDO COMPONENTES
- TCTUActiveButton -
1. Objetivo: Este componente irá fazer com que o texto (caption) que aparece no
botão fique em negrito toda vez que o mouse passar sobre ele.
2. Digitação: Basta deixar a unit com o seguinte aspecto:
unit CTUActiveButton;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons;
type
TCTUActiveButton = class(TBitBtn)
private
{ Private declarations }
protected
procedure MouseEnter(var Msg: TMessage); message cm_mouseEnter;
procedure MouseLeave(var Msg: TMessage); message cm_mouseLeave;
public
{ Public declarations }
published
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('CTU', [TCTUActiveButton]);
end;
{ TCTUActiveButton }
procedure TCTUActiveButton.MouseEnter(var Msg: TMessage);
begin
Criando componente – TCTUActiveButton – Página 1
Font.Style:= Font.Style + [fsBold];
end;
procedure TCTUActiveButton.MouseLeave(var Msg: TMessage);
begin
Font.Style:= Font.Style - [fsBold];
end;
end.
3. As diferenças entre este componente e o TCTUComboBox serão explicitadas a
seguir, colocamos estas novidades em negrito na listagem acima:
a. Nota-se a presença do comando message com cm_mouseEnter e
cm_mouseLeave.
b. Como sabemos, o Windows percebe a presença de eventos através de
mensagens que os componentes o enviam. A forma de enviar mensagens no
Delphi é a apresentada: coloca-se o nome da rotina que será executada e em
seguida o comando message seguido da mensagem-padrão reconhecida pelo
Windows.
c. Outra novidade que contatamos é a forma com a qual inserimos e retiramos
o estilo fsBold da propriedade Style da propriedade Font.
4. Os procedimentos de criação e instalação do componente são os mesmos
apresentados no projeto TCTUCombobox.
J J J J J J J J J J J J J J J J
Criando componente – TCTUActiveButton – Página 2
Download

este componente