PRB: Dragmode=1 Stops Click and Other Mouse Events from Firing

ID: Q130799

3.00 WINDOWS kbprb

The information in this article applies to:

  • Microsoft Visual FoxPro for Windows, version 3.0

SYMPTOMS

If the DRAGMODE property is set to 1, the click event or any of the other mouse events do not execute for that object.

CAUSE

When the DRAGMODE property is set to 1 for automatic mode, none of the mouse events fire. The mouse events affected are:

   CLICK()
   MOUSEMOVE()
   MOUSEDOWN()
   MOUSEUP()

The DRAGMODE property allows the control to be dragged when the primary mouse button is pressed and held down, so all other mouse events for this control are disabled. This is by design.

WORKAROUND

To have more control over dragging, set the DRAGMODE property to zero for manual mode. Then in the MOUSEDOWN() event, call the CLICK() event and then call the DRAG() event passing a number one as a parameter to start the dragging operation.

Step-by-Step Example

1. Create a form, and place a check box and a text box on it.

2. Add the following code to the MOUSEDOWN() event of the check box:

   THIS.CLICK()
   THIS.DRAG(1)

3. Add the following code to the CLICK() event of the check box:

   THIS.PARENT.TEXT1.VALUE="Click"

4. Add the following code to the DRAGDROP() event of the text box:

   THIS.VALUE=OSOURCE.CAPTION

5. Run the form.

Click the check box. In response, the text box should say "Click." Drag the check box on top of the text box. In response, the text box should say "Check1."

STATUS

This behavior is by design.

Additional reference words: 3.00 VFoxWin KBCategory: kbprb KBSubcategory: FxtoolFormdes

Keywords          : kbcode FxtoolFormdes 
Version           : 3.00
Platform          : WINDOWS


Last Reviewed: May 22, 1998
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.