CListCtrl, WM_LBUTTONUP message handler
Uma Shankar -- Uma_Shankar@countrywide.com
Tuesday, March 26, 1996
Config :Win NT, VC++ 4.0
hi all,
I got a message handler for WM_LBUTTONUP message in CListCtrl derived class(in
Report format). I am expecting this message handler to be called when the user
releases the mouse on the list control. Unfortunately this is not happening.
I checked with spy for the mouse messages on the list control. It shows
WM_LBUTTONUP message.
The actual application is like this. I am simulating Drag and Drop in my
Dialog. The dialog got 2 controls. One is QListcontrol and the other is tree
control (QTTree Class which is derived from CTreeCtrl). I got to drag an item
from the tree control the to list control. Tree control sends a parent
notification message TVN_BEGINDRAG, if the user drags an item . In that
message handler ( i mean in QDialog class), i am getting the item to be dragged
and also i am capturing the mouse. I am expecting the WM_LBUTTONUP message in
QListCtrl after this, such that i can drop the item in list control and Release
the Mouse.. This is not working.
I tried cliking on the list control , ( I did't touch tree control.. So dont
bother about mouse capture), just to check the message handler of QListCtrl.
The message handler in QListCtrl for WM_LBUTTONUP message is getting called
on the double click event, but not single click.
I will be greatful, if you can suggest any other way of doing this as well..
thanks in advance..
Uma shankar
Anil Kumar. K -- pushpak@m-net.arbornet.org
Monday, April 01, 1996
Hi,
Since you are capturing the mouse in the TVN_BEGINDRAG handler
you cannot expect the list control to recieve the WM_LBUTTONUP message. =
What you can do is, at the dialog level, in the TVN_BEGINDRAG handler, =
the dialog can capture the mouse. In the WM_LBUTTONUP handler, the =
dialog can check in which control the mouse was released and take the =
appropriate action.
This is what I have also done and it is working fine. But I do not =
know, if this is the best way to handle drag-n-drop across controls. =
Infact, I had sent a message asking, where could this be handled; at the =
dialog level or at the control level. Unfortunately, I didn't recieve =
any reply for that. Hope that question also gets answered now.
Thanks,
Anil Kumar .K
----------
From: Uma Shankar[SMTP:Uma_Shankar@countrywide.com]
Sent: Tuesday, March 26, 1996 3:09 PM
To: mfc-l
Subject: CListCtrl, WM_LBUTTONUP message handler
Config :Win NT, VC++ 4.0
hi all,
I got a message handler for WM_LBUTTONUP message in CListCtrl derived =
class(in=20
Report format). I am expecting this message handler to be called when =
the user=20
releases the mouse on the list control. Unfortunately this is not =
happening. =20
I checked with spy for the mouse messages on the list control. It shows =
WM_LBUTTONUP message.
The actual application is like this. I am simulating Drag and Drop in =
my=20
Dialog. The dialog got 2 controls. One is QListcontrol and the other =
is tree=20
control (QTTree Class which is derived from CTreeCtrl). I got to drag =
an item=20
from the tree control the to list control. Tree control sends a =
parent=20
notification message TVN_BEGINDRAG, if the user drags an item . In that =
message handler ( i mean in QDialog class), i am getting the item to be =
dragged=20
and also i am capturing the mouse. I am expecting the WM_LBUTTONUP =
message in=20
QListCtrl after this, such that i can drop the item in list control and =
Release=20
the Mouse.. This is not working. =20
I tried cliking on the list control , ( I did't touch tree control.. So =
dont=20
bother about mouse capture), just to check the message handler of =
QListCtrl. =20
The message handler in QListCtrl for WM_LBUTTONUP message is getting =
called=20
on the double click event, but not single click.
I will be greatful, if you can suggest any other way of doing this as =
well..=20
thanks in advance..
Uma shankar
| Вернуться в корень Архива
|