Re: MouseEnter
ich filtere alle mouseevents die noch vorhanden sind, die von den einzelnen kontrolls beinhalten meist nicht alle.
in der msdnn sind die restlichen für die mouse beschrieben, die du filtern musst. wie gesagt ist nur ein vorschlag Gruß Konse PS: Dachte du wolltest verhindern dass mit der mouse während des disabled zustandes etwas gemacht wird. |
Re: MouseEnter
Zitat:
Delphi-Quellcode:
Nun kommt der Teil 2 und zwar der Teil "then"
if ControlAtPos(Form1.ScreenToClient(ptWork), False, True) = Image1 then ...
Ich möchte damit den Cursor tot machen ohne ihn ausblenden zu müssen. Den Cursor kann man ausblenden aber der Cursor macht immer was in Hintergrund :mrgreen: Deswegen möchte ich die sleep() verwenden |
Re: MouseEnter
@Blackheart
weiss nicht ob du es gelesen hast, aber es kam noch ein requirement hinzu... @taktaky also wenn du wirklich mit sleep deinen thread für die controlls schlafen legen willst, wie sollen generell die messages von deiner form abgearbeitet werden? meiner meinung nach bleibt dir nichts übrig ausser die mouseevents für diese region zu filtern, bzw die region zu disablen (was auch nur die nachrichtenbehandlung für ein paar messages ausschaltet) Falls du es mit sleep schaffst, sag mir bescheid :D Beste Grüße Konse |
Re: MouseEnter
wie kann mit den mouseevents für diese Region (image1) filtern?
Ich möchte den Cursor nicht ausblenden sondern nur seine Wirkung tot machen. |
Re: MouseEnter
hi, also nochmal
wenn du die funktionalität der maus in dieser region verhindern willst, so musst du meiner meinung nach, buttons+buttonwheel deiner maus deaktivieren. diese messages werden einem windowsfenster zugeordnet. Denke in diesem fall wird die form dein window sein, wo du dein image draufhast. D.h. du filterst deine mousemessages von der form. In dieser filterprozedur überprüfst du ob sich dein cursor innerhalb dieser region befindet, wenn ja dann eliminierst du diese nachricht (oft mit #0, kommt aber darauf an), ansonsten nicht. Damit kannst du mit deiner maus in deiner form alles bedienen, nur die region von deinem bild eben nicht. Hoffe das war etwas verständlicher, ich schreibe meist etwas umständlich ;-) Beste Grüße Konse ps:falls jemandem eine bessere möglichkeit bekannt ist, währe neugierig diese zu erfahren ;-) |
Re: MouseEnter
Du kannst mit enablewindow Ein Fenster mit einem Schlag "inaktiv" schalten.
oder Du arbeitest mit TApplicationevents. Speziell dann mit dem Ereignis onMessage. Dort gehen alle Messages an dein Programm durch und du kannst die Mousemessages abfangen, wenn dir danach ist:
Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean); begin if stopMouseMessages then handled:= ((msg.message>= WM_MouseFirst) and (msg.message<= WM_MouseLast)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:54 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