Private WithEvents m As X3BMenu
Private Sub m_drawItem(ByVal lpDrawItemStruct As Long)
Dim d As DRAWITEMSTRUCT, szTxt As String, hGraphics As Long, tp As X3TextPrinter
Call m.fillDrawItemStruct(VarPtr(d), lpDrawItemStruct)
szTxt = m.getMenuItemText(d.CtlID)
Set tp = New X3TextPrinter
Call tp.setText(szTxt)
Call tp.setAlignment(EHAlignment.HCenter, EVAlignment.VCenter)
Call tp.setFont("Tahoma", 15, tp.getFontFlags(m.hasState(d.itemState, ODS_SELECTED), m.hasState(d.itemState, ODS_SELECTED), False, False))
Call tp.setLayoutRect(d.rcItem.Left, d.rcItem.Top, (d.rcItem.Right - d.rcItem.Left), (d.rcItem.Bottom - d.rcItem.Top))
Call tp.setOutlineEffect(&HFF0000FF, 190, 3)
Call tp.setTextColor(&HFFFFFFFF)
hGraphics = mUtil.getGraphicsContext(d.hdc)
Call mUtil.setAAGraphicsSmoothingMode(hGraphics)
Call mUtil.fillRectGDIP(hGraphics, &HFFFFFFFF, tp.DestX, tp.DestY, tp.DestW, tp.DestH)
Call tp.printText(hGraphics)
Call mUtil.deleteGraphicsContext(hGraphics)
End Sub
Private Sub m_measureItem(lW As Long, lH As Long, ByVal lData As Long, ByVal nID As Integer)
lH = 20
lW = (X3Button1.Width \ Screen.TwipsPerPixelX)
End Sub
Private Sub X3Button1_click(sX As Single, sY As Single)
Dim i As X3BIcon
Set m = New X3BMenu
Set i = New X3BIcon
Call i.loadIcon("d:\Programming\X3 Battlefield IRC\alpha.png")
Call m.setMenuItemText("Xiphias3", "Desolator", "\-", "Cancel")
Call m.setCheckmarkIcons(i, i, , i)
Call m.createMenu
Call m.setMenuItemChecked(0, True)
Call m.setMenuItemOwnerDrawStatus(1, True)
Call m.showMenu(X3Button1.hWnd, ALIGN_RIGHT)
End Sub