Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: API Добавлено: 05.03.04 11:34  

Автор вопроса:  SHDZ | ICQ: 209382104 

Подскажите, создал менюшку

Dim a As Long, b As Long

HMENU = CreatePopupMenu()

AppendMenu HMENU, MF_STRING Or MF_CHECKED, &H200, "1 "

AppendMenu HMENU, MF_STRING Or MF_CHECKED, &H200, "2 "

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)

Dim Pt As POINTAPI

GetCursorPos Pt

If Button = 1 Then

TrackPopupMenu HMENU, TPM_LEFTALIGN, Pt.x, Pt.y, 0, Me.hWnd, ByVal 0&

End If

End Sub

и хочу чтоб галочки ставились правой кнопкой, а закрывалось левой - КАК?

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 05.03.04 12:22

Уууу, в любом случае при нажатии мыши, оно исчезнет... Так чтобы правой галочки ставить а левой выбирать - не выйдет :( Толшько если после выбора опять вызывать 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

Ответить

Номер ответа: 2
Автор ответа:
 SHDZ



ICQ: 209382104 

Вопросов: 39
Ответов: 244
 Профиль | | #2 Добавлено: 05.03.04 14:56

Public Const MF_BYCOMMAND = &H0&

об этом можна подробнее -

Optional Pos As mnuApInsmnu = MF_BYCOMMAND

Ответить

Номер ответа: 3
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #3
Добавлено: 05.03.04 18:50

Существует две константы:
Private Const MF_BYCOMMAND As Long = &H0&
Private Const MF_BYPOSITION As Long = &H400&
Первая для указания иеню по ее ID (HGetMenuIdItem), а вторая для указания по порядку, сверху, начиная с нуля...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам