Уууу, в любом случае при нажатии мыши, оно исчезнет... Так чтобы правой галочки ставить а левой выбирать - не выйдет Толшько если после выбора опять вызывать TrackPopupMenu... А галочки снимать ставить и многое другое можно с помощью ModifyMenu, но придется еще и заголовок получать, в любом случае, для нее функцией GetMenuString, если мне память не изменяет... Сейчас может что-то в помощь гляну...
Вот прямо из проекта, может выручит: Call ModifyMenu(lPopHandle(5), ItemID, MF_BYCOMMAND Or IIf(PlugSet.bGraphMode, MF_UNCHECKED, MF_CHECKED), ItemID, GetMenuCaption(lPopHandle(5), ItemID, MF_BYCOMMAND))
Public Function GetMenuCaption(ihMenu As Long, inPos As Long, Optional Pos As mnuApInsmnu = MF_BYCOMMAND) As String Dim i_gmc As Integer GetMenuCaption = Space(255) i_gmc = GetMenuString(ihMenu, inPos, GetMenuCaption, 255, Pos) GetMenuCaption = Left(GetMenuCaption, i_gmc) End Function
Существует две константы: Private Const MF_BYCOMMAND As Long = &H0& Private Const MF_BYPOSITION As Long = &H400& Первая для указания иеню по ее ID (HGetMenuIdItem), а вторая для указания по порядку, сверху, начиная с нуля...