/ Forside/ Teknologi / Udvikling / Delphi/Pascal / Tip
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
TImage og TLabel med onMouseEnter event.
lavang har modtaget -10 point for dette tip
Fra : lavang
Vist : 1328 gange

Dato : 01-12-04 23:28

//*******************************************************************************
//* Komponent er bestået af én TImage og én TLabel, begge har OnMouseEnter og OnMouseLeave event. *
//*******************************************************************************

unit VCImage;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls;

type
TVCImage = class(TImage)
private
fONMouseEnter :tNotifyEvent;
fONMouseLeave :tNotifyEvent;
procedure CMMouseEnter(var msg : TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var msg : TMessage); message CM_MOUSELEAVE;
protected

public

published
property OnMouseEnter : TNotifyEvent read fONMouseEnter write fONMouseEnter;
property OnMouseLeave : TNotifyEvent read fONMouseLeave write fONMouseLeave;
end;

TVCLabel = class(TLabel)
private
fOnMouseEnter : tNotifyEvent;
fOnMouseLeave : tNotifyEvent;
fHighlight : Boolean;

procedure doHighLight(HL : Boolean);
procedure CMMouseEnter(var msg : TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var msg : TMessage); message CM_MOUSELEAVE;
public
published
property Highlight : Boolean read fHighLight write doHighLight;
property OnMouseEnter : TNotifyEvent read fONMouseEnter write fONMouseEnter;
property OnMouseLeave : TNotifyEvent read fONMouseLeave write fONMouseLeave;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('TVC', [TVCImage, TVCLabel]);
end;


procedure TVCImage.CMMouseEnter(var msg : TMessage);
begin
if Assigned(fOnMouseEnter) then fOnMouseEnter(self);
end;

procedure TVCImage.CMMouseLeave(var msg : TMessage);
begin
if Assigned(fOnMouseLeave) then fOnMouseLeave(self);
end;

//-******* TVCLABEL *********************//
procedure TVCLabel.CMMouseEnter(var msg : TMessage);
begin
if Assigned(fOnMouseEnter) then fOnMouseEnter(self);
if HighLight then
begin
Font.Color := clBlue
end
end;

procedure TVCLabel.CMMouseLeave(var msg : TMessage);
begin
if Assigned(fOnMouseLeave) then fOnMouseLeave(self);
Font.Color := clWindowText;
end;


procedure TVCLabel.doHighLight(HL: Boolean);
begin
if HL <> fHighLight then
fHighLight := HL;
end;

end.



 
 
Bedømmelse

Fra : Better_Performance


Dato : 01-12-04 23:52



Bedømmelse

Fra : thorvald


Dato : 02-12-04 00:42



Bedømmelse

Fra : TQsen


Dato : 02-12-04 00:57



Bedømmelse

Fra : Franksp


Dato : 02-12-04 00:22



Bedømmelse

Fra : dk


Dato : 02-12-04 00:23



Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke lave en bedømmelse til dette tip.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409070
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste