|
Kelly,
I modified your example to make it appear more like a real context menu. Hope you like it...
Break On
$Form = CreateObject("Kixtart.Form") $Form.Size = 400, 400 $Form.Center $Form.ForeColor = Blue $Form.OnMouseDown = "OnFormMouseDown"
$Form.Show
WHILE $Form.Visible $=Execute($Form.DoEvents()) Loop
Exit 1
FUNCTION OnFormMouseDown If $Form.MouseButton = 2 ; Right-click fnPopup($Form.Left + $Form.MouseX, $Form.Top + $Form.MouseY) ENDIF EndFunction
FUNCTION fnPopup($FormSLeft, $FormSTop) $FormS = CreateObject("Kixtart.Form") $FormS.BorderStyle = 0 $FormS.ClientWidth = 100 $FormS.ClientHeight = 42 $FormS.Top = $FormSTop + 30 $FormS.Left = $FormSLeft + 5 $FormS.Line(0,0,0,$FormS.ClientHeight,"White") $FormS.Line(0,0,$FormS.ClientWidth,0,"White") $FormS.Line($FormS.ClientWidth-1,0,$FormS.ClientWidth-1,$FormS.ClientHeight,"DimGray") $FormS.Line(0,$FormS.ClientHeight-1,$FormS.ClientWidth,$FormS.ClientHeight-1,"DimGray") $btnClose = $FormS.ToolButton("Click Me", 1, 1, $FormS.ClientWidth-2, 18) $btnClose.FlatStyle = 1 $btnClose.Icon = 10 ; Green Check $btnClose.Alignment = 0 ; Right $btnClose.HotBackColor = Navy $btnClose.HotForeColor = White $btnClose.OnClick = "fnClickMe()" $bFlip = not 0 ;Separator Line $FormS.Line(2,$btnClose.Bottom+2,$FormS.ClientWidth-2,$btnClose.Bottom+2,"DimGray") $FormS.Line(2,$btnClose.Bottom+3,$FormS.ClientWidth-2,$btnClose.Bottom+3,"White") $btnClose2 = $FormS.ToolButton("Close Context", 1, $btnClose.Bottom+4, $FormS.ClientWidth-2, 18) $btnClose2.FlatStyle = 1 $btnClose2.Icon = 37 ; OpenFolder $btnClose2.Alignment = 0 ; Right $btnClose2.HotBackColor = Navy $btnClose2.HotForeColor = White $btnClose2.OnClick = "$$FormS.Hide" $FormS.Show While $FormS.Visible $=Execute($FormS.DoEvents()) Loop ENDFUNCTION
FUNCTION fnClickMe() $bFlip = not $bFlip If $bFlip $btnClose.Icon = 10 ; Green Check Else $btnClose.Icon = 9 ; Red X EndIf ENDFUNCTION
[ 30. May 2003, 17:06: Message edited by: Chris S. ]
|