Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   TDBText OnMouseEnter / OnMouseLeave (https://www.delphipraxis.net/156465-tdbtext-onmouseenter-onmouseleave.html)

ilse2005 2. Dez 2010 19:18

Datenbank: Access • Version: Delphi 7 • Zugriff über: ADO

TDBText OnMouseEnter / OnMouseLeave
 
Hi,
wieder mal ein Problem...
Ich würde gerne den Cursor ändern, wenn ich über ein DBText Feld fahre. Allerdings gibt es bei DBText keine OnMouseEnter oder OnMoueseLeave Events.
Was kann ich da machen?
Kann ich die Events hinzufügen? Wenn ja wie?

Bummi 2. Dez 2010 19:39

AW: TDBText OnMouseEnter / OnMouseLeave
 
Eigentlich langt es ja wahrscheinlichg die Eigenschaft Cursor von DBedit1 zu ändern
aber, ja es geht, das was Da Beiliegt kannst Du freilich auch in eine neue Komponente DBeditEnh packen
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, DBCtrls;

type
  TDBEdit=Class(DBCtrls.TDBEdit)
    private
    FOnMouseEnter: TNotifyEvent;
    FOnMouseLeave: TNotifyEvent;
    Protected
    procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
    procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
    Published
    Property OnMouseEnter:TNotifyEvent read FOnMouseEnter Write FOnMouseEnter;
    Property OnMouseLeave:TNotifyEvent read FOnMouseLeave Write FOnMouseLeave;
  End;
  TForm1 = class(TForm)
    ComboBox1: TComboBox;
    DBEdit1: TDBEdit;
    procedure FormCreate(Sender: TObject);
  private
    procedure MyMouseEnter(Sender: TObject);
    procedure MyMouseLeave(Sender: TObject);
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Dbedit1.OnMouseEnter := MyMouseenter;
  Dbedit1.OnMouseLeave := MyMouseLeave;
end;

Procedure TForm1.MyMouseEnter(Sender:TObject);
begin
   Caption := 'Enter';
end;

Procedure TForm1.MyMouseLeave(Sender:TObject);
begin
   Caption := 'Leave';
end;

{ TDBEdit }

procedure TDBEdit.CMMouseEnter(var Message: TMessage);
begin
  if Assigned (FonMouseEnter) then FOnMouseEnter(self);
  inherited;
end;

procedure TDBEdit.CMMouseLeave(var Message: TMessage);
begin
  if Assigned (FonMouseEnter) then FOnMouseLeave(self);
  inherited;
end;

end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz