![]() |
Mouseover bei Object Bevel / Cursor ausblenden
Hallo,
ich möchte den Cursor nur auf den Bereich Bevel ausblenden Ist das möglich? ich möchte den Befehl : Screen.Cursor := crNone ausführen, wenn der Cursor gerade auf Bevel sich befindet --------------- |
Re: Mouseover bei Object Bevel / Cursor ausblenden
Wie wäre es mit Bevel1.Cursor:=crNone?
|
Re: Mouseover bei Object Bevel / Cursor ausblenden
Zitat:
ich habe meine Frage nicht gut ausgedrückt Ich möchte den Cursor auf den Bereich Bevel1 ein- und ausblenden durch Click auf Bevel1 selbst Momentan verwende ich ein Click auf ein Button :
Delphi-Quellcode:
Ist das möglich?
procedure TForm1.Button7Click(Sender: TObject);
begin if Button7.Caption='einblenden' then begin Button7.Caption:='ausblenden'; Bevel1.Cursor:=crNone else begin Button7.Caption:='einblenden'; ShowCursor(true); // show cursor end; end; Gruß ______________ |
Re: Mouseover bei Object Bevel / Cursor ausblenden
Zitat:
Denn von der Logik her ist der Code nicht schlüssig. Schau ihn dir doch noch mal mit anständiger Formatierung (Einrückungen) an und überlege vor allem wo Bereiche beginnen und enden... Nutze die Möglichkeit, den Komponenten eigenene Namen zu geben. "Button7" wird dir nichts mehr sagen, wenn du ihn mal 1 Monat nicht mehr gesehen hast. |
Re: Mouseover bei Object Bevel / Cursor ausblenden
Durch Click auf das Bevel den Cursor ein-/ausschalten? Das ist ja beim Wiedereinschalten des BevelCursors dann ein "Blindflug" - aber immerhin. Du könntest z.B. die FensterProzedur des Bevels benutzen; also "Bevel.WindowProc". Innerhalb der Prozedur reagierst du z.B. auf WM_LButtonUp und schaltest den Cursor an/aus.
Gruß |
Re: Mouseover bei Object Bevel / Cursor ausblenden
Zitat:
Aber wie gesagt, ich möchte dies durch einen Klick auf Bevel1 selbst durchführen und nicht einen Klick auf ein Button ------------ |
Re: Mouseover bei Object Bevel / Cursor ausblenden
Zitat:
_________ |
Re: Mouseover bei Object Bevel / Cursor ausblenden
Nun habe ich ein anderes Problem,
auf mein Form liegt eine fremde Anwendung. Der Cursor wird nicht ausgeblendet ! screen.Cursor:=crNone hilft nicht! Wie kann man den Cursor ausbleden, wenn er auf die fremde Anwendung bewegt? Die fremde Anwendung befindet sich auf Panel1. ______________ |
Re: Mouseover bei Object Bevel / Cursor ausblenden
Hallo taktaki,
dann wollen wir mal versuchen es zu erklären (bin da leider keine Experte): Jedes (?) fensterbasierte Control hat eine Schnittstelle, die die von Windows an das Control gesendeten Botschaften entgegennimmt und verteilt. Wenn man sich in diese Prozedur "einklinkt", kann man auf diese Botschaften reagieren, noch bevor das Control darauf reagieren kann und dadurch das Verhalten des Controls beeinflussen. Zitat der Hilfe: "Mit Hilfe von WindowProc können Sie die Fensterprozedur des Steuerelements vorübergehend ersetzen oder unterklassifizieren". Weitere Infos findest du in der Windows-Hilfe zu "WindowProc". Folgende Schritte sind notwendig: 1. Deklaration der Zeigervariablen für die Originaladresse (lokal im Implementationsteil deiner Unit), z.B.
Delphi-Quellcode:
2. "Einklinken" deiner eigenen Fensterprozedur (im OnCreate deines Formulars), z.B.
var BevelOrgWinProc : TWndMethod;
Delphi-Quellcode:
3. Deklaration deiner eigenen Fensterprozedur (im private-Abschnitt deiner Unit), z.B.
BevelOrgWinProc :=Bevel.WindowProc; // Originaladresse merken
Bevel.WindowProc:=myBevelWinProc; // deine eigene Fensterprozedur "einklinken"
Delphi-Quellcode:
Das sollte eigentlich den gewünschten Effekt haben...
procedure TForm1.myBevelWinProc(var Msg:TMessage);
procedure ToggleCursor; begin if Bevel.Cursor=crDefault then Bevel.Cursor:=crNone else Bevel.Cursor:=crDefault; end; begin if Msg.Msg=WM_LButtonUp then ToggleCursor // Reaktion von LeftButtonUp // soll verändert werden else BevelOrgWinProc(Msg); // sonst Original aufrufen end; Gruß PS: und bitte >> kapieren mit EINEM k |
Re: Mouseover bei Object Bevel / Cursor ausblenden
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 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