Announcement

Collapse
No announcement yet.

Eine Frage an den Profis

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Eine Frage an den Profis

    hi
    wer kann mir Helfen? Ich möchte wenn ich mit der Maus über eine Komponete gehe, dann soll er mir das anzeigen in einem Label, aber nicht die OnMouseMove Event, damit kann ich nichts anfangen.

    Danke im varaus !!!

    Floppy

  • #2
    Hallo Floppy,<br>Du must die Komponente mit 2 Ereignissen nachrüsten. Das wären die Ereignisse CM_MOUSEENTER und CM_MOUSELEAVE. An dem CM_ kannst Du erkennen, das es sich hier um Komponentenbotschaften handelt. Die schnellste Lösung ist, Du ersetzt die Fensterprocedure der Komponente durch eine eigene. <br>
    Beispiel:<br>
    <pre><font size="1" face="Verdana">
    unit Unit1;

    interface

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

    type
    TForm1 = class(TForm)
    Memo1: TMemo;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    private
    { Private-Deklarationen }
    FWndProc : TWndMethod;
    procedure MemoWndProc(var Msg: TMessage);
    public
    { Public-Deklarationen }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.DFM}

    { TForm1 }

    procedure TForm1.MemoWndProc(var Msg: TMessage);
    begin
    Case Msg.Msg of
    CM_MOUSEENTER : Label1.Caption:='Enter';
    CM_MOUSELEAVE : Label1.Caption:='Leave';
    else FWndProc(Msg);
    end; // Case
    end;

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    FWndProc := Memo1.WindowProc;
    Memo1.WindowProc := MemoWndProc;
    end;

    end.</font></pre>
    <br>Jens Schuman

    Comment


    • #3
      hi Jens Schumann
      ich danke dir sehr für deine Askunft, das ist genau was ich gesucht habe, also hab dank!

      cu Flopp

      Comment


      • #4
        Das geht doch auch ueber Hints...
        ganz einfach im Objektinspektor eintragen.
        Ferti

        Comment

        Working...
        X