I have been reading through the example code for the drag and drop and have hit a brick wall trying to understand some of the code in the Mousemove (OnMMPalette())?
' lParam
' The low-order word specifies the x-coordinate of the cursor. The coordinate is relative to 
' the upper-left corner of the client area. (@mousex)
' The high-order word specifies the y-coordinate of the cursor. The coordinate is relative to 
' the upper-left corner of the client area  (@mousey)
' @LPARAM / @QUAL
Sub OnMMPalette(),INT
	' @QUAL + LPARAM - Holds the X Y Coord of the Mouse 
	' if mouse L Button down
	DEBUGPRINT STR$(@QUAL) + "  _  " + STR$(@LPARAM)
	if @QUAL & 1
		dragstart++
I do not understand how @Qual is = 1. If i use the right-button it will equal 2, No button @Qual = 0.
I thought those messages were supposed to be  in the WPARAM.
What am I missing here please?
Allan
			
			
			
				You use the left button down to drag.
Larry
			
			
			
				Yes, but isnt the left-button down supposed to be shown in the WPARAM?
Allan
			
			
			
				Normally
@QUAL =@LPARAM
@CODE =@WPARAM
However for the mouse messages emergence translates wparam and lparam for you as such:
@QUAL = wparam
@MOUSEX = lParam & 0xFFFFu
@MOUSEY = (lParam >> 16) & 0xFFFFu
Old terminology, used by the Amiga QUAL = "Qualifier" , and it stuck with my languages.  Put into Emergence for IBasic Pro compatibility.  Listed in the users guide.
Emergence does a lot of internal processing, so you don't have to.
Paul.
			
			
			
				Thanks for the understanding on the Mouse Messages.
I missed the part about  @QUAL = wparam  in the user guide.
Allan