Solved

Mouse Click

Posted on 2000-03-24
5
153 Views
Last Modified: 2010-04-04
How can i make the mouse do the event click at runtime from my code ?
0
Comment
Question by:crazydragonx
5 Comments
 
LVL 6

Expert Comment

by:Jaymol
ID: 2652481
What do you want to click?  Most objects have a click event that you can trigger.  (Button1.Click for example)

John.
0
 
LVL 12

Expert Comment

by:Faruk Onder Yerli
ID: 2652528
you can listen windows messaging .
0
 
LVL 17

Accepted Solution

by:
inthe earned 50 total points
ID: 2652548
can do :

sendmessage(handle_of _what_to_click,WM_LBUTTONDOWN,0,0);
sendmessage(handle_of _what_to_click,WM_LBUTTONUP,0,0);

or

sendmessage(handle_what_to_click,bm_click,0,0);
0
 

Expert Comment

by:sywhc
ID: 2652552
button1.Perform(WM_LBUTTONDOWN,-1,0 );
0
 

Expert Comment

by:vinnair
ID: 2652591
I assume you want the mouse click event to trigger at runtime.

For that the clicking event should occur upon some parent object like a form or a button.

In case of a button it is easy to invoke the mouse click event at runtime. It can be done by calling the click procedure for the button. thus just a single statement:
  button1.click
would do the trick.

In case of a form it is a bit different from the button. Nevertheless this is also quite easy to do:

  form1.formclick(application)
would do the job.

To invoke any event as such is easy:

If say 'OnClick(Sender: TObject)' was an event of object 'Object1'. You can at runtime or designtime associate a procedure with the event which will be executed when the event is invoked. At designtime it is quite simple. At runtime it can be done as follows:

Object1.OnClick := Object1click.

Note that the parameters of the event and the procedure must match.

This was on how to associate a procedure with the event.

Now to invoke the event at runtime the code is quite simple. It is as follows:

If Assigned(Object1.OnClick) do
  Object1.OnClick(application);

This way any event can be invoked at runtime, let alone the mouse click event.

I hope the above solves your problem.
Best of luck!



0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now