|
Since the textalignment for ToolButton is not implemented yet, a work-around is to use a fixed-length font and pad the "menuitems" with spaces.
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 Dim $Menu,$Item $Menu = "New ","Open ","Save ","Save as...","Exit " If $Form.MouseButton = 2 ; Right-click $Item = fnPopup($Menu,$Form.Left + $Form.MouseX, $Form.Top + $Form.MouseY) ?"Item=" $Item ENDIF EndFunction FUNCTION fnPopup($MenuStrings,$FormSLeft, $FormSTop) Dim $MenuItems[UBOUND($MenuStrings)] $FormS = CreateObject("Kixtart.Form") $FormS.BorderStyle = 0 $FormS.ClientWidth = 100 $FormS.ClientHeight = 42 $FormS.Top = $FormSTop + 30 $FormS.Left = $FormSLeft + 5 $Top = 1 For $i = 0 To UBOUND($MenuStrings) $MenuItems[$i] = $FormS.ToolButton($MenuStrings[$i], 1, $Top, $FormS.ClientWidth-2, 20) $MenuItems[$i].FontName = "Lucida Console" ;"Courier New" $MenuItems[$i].FlatStyle = 1 $MenuItems[$i].Alignment = 0 ; Right $MenuItems[$i].HotBackColor = Navy $MenuItems[$i].HotForeColor = White $MenuItems[$i].OnClick = "$$FormS.Tag=$i $$FormS.Hide" $Top = $Top + 20 Next $FormS.ClientHeight = $Top + 2 $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") $FormS.Tag = -1 $FormS.Show While $FormS.Visible $=Execute($FormS.DoEvents()) Loop $fnPopup = $FormS.Tag ENDFUNCTION
|