AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MouseEnter/Leave bei Pie

Ein Thema von Nic2012 · begonnen am 8. Apr 2013 · letzter Beitrag vom 15. Apr 2013
Antwort Antwort
Nic2012

Registriert seit: 2. Mai 2012
62 Beiträge
 
#1

AW: MouseEnter/Leave bei Pie

  Alt 11. Apr 2013, 19:53
Verstehe ich nicht, sorry. Wie kann ich Dein Beispiel so erweitern, das die vorhandene PaintBox1 um den Eventhandler "CMMouseLeave" erweitert wird ?

Wenn ich in meinem Beispiel das Ex weglasse bekomme ich "Typ TPaintBox" ist nicht vollständig definiert.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: MouseEnter/Leave bei Pie

  Alt 11. Apr 2013, 23:23
Ich weiß nicht wo genau es hängt, vielleicht hilft hilft Dir diese Minibeispiel weiter

Delphi-Quellcode:
unit Unit6;

interface

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

type
 TPaintBox = class(ExtCtrls.TPaintBox)
  private
    FOnMouseEnter,
    FOnMouseLeave: TNotifyEvent;
    procedure CMMouseEnter (var mMsg : TMessage); message CM_MouseEnter;
    procedure CMMouseLeave (var mMsg : TMessage); message CM_MouseLeave;
  published
    property OnMouseEnter: TNotifyEvent READ FOnMouseEnter WRITE FOnMouseEnter;
    property OnMouseLeave: TNotifyEvent READ FOnMouseLeave WRITE FOnMouseLeave;
  end;

  TForm6 = class(TForm)
    PaintBox1: TPaintBox;
    PaintBox2: TPaintBox;
    procedure FormCreate(Sender: TObject);
    procedure PaintBox1Paint(Sender: TObject);
  private
    procedure MyMouseEnter(Sender: TObject);
    procedure MyMouseLeave(Sender: TObject);
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form6: TForm6;

implementation

{$R *.dfm}

{ TPaintBox }

procedure TPaintBox.CMMouseEnter(var mMsg: TMessage);
begin
  inherited;
  if Assigned(OnMouseEnter) then OnMouseEnter(self);

end;

procedure TPaintBox.CMMouseLeave(var mMsg: TMessage);
begin
  if Assigned(OnMouseLeave) then OnMouseLeave(self);
end;

procedure TForm6.MyMouseEnter(Sender: TObject);
begin
   With TPaintbox(Sender) do
    begin
      Tag := clLime;
      Invalidate;
    end;
end;
procedure TForm6.MyMouseLeave(Sender: TObject);
begin
   With TPaintbox(Sender) do
    begin
      Tag := clRed;
      Invalidate;
    end;

end;

procedure TForm6.PaintBox1Paint(Sender: TObject);// ist auch Paintbox2 zugewiesen
begin
  With TPaintBox(Sender).Canvas do
    begin
      Brush.Color := TPaintBox(Sender).Tag;
      Fillrect(TPaintBox(Sender).ClientRect);
    end;
end;

procedure TForm6.FormCreate(Sender: TObject);
begin
 Paintbox1.OnMouseEnter := MyMouseEnter;
 Paintbox1.OnMouseLeave := MyMouseLeave;
 Paintbox2.OnMouseEnter := MyMouseEnter;
 Paintbox2.OnMouseLeave := MyMouseLeave;

end;

end.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Nic2012

Registriert seit: 2. Mai 2012
62 Beiträge
 
#3

AW: MouseEnter/Leave bei Pie

  Alt 15. Apr 2013, 15:29
Prima, Bummi hast mir sehr geholfen
Zitat:
"Typ TPaintBox" ist nicht vollständig definiert.
ExtCtrls vor PaintBox hat gefehlt und war die Ursache.
Nochmals besten Dank.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: MouseEnter/Leave bei Pie

  Alt 15. Apr 2013, 15:36
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:33 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