Часто задаваемые вопросы и ответы по программированию на VB
Последнее обновление: 28.03.03
Q: Как сдвинуть меню вправо?
A (ego): Используйте следующий код
Option Explicit
Private Const MF_POPUP = &H10&
Private Const MF_BYPOSITION = &H400&
Private Const MF_HELP = &H4000&
Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Private Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Private Declare Function ModifyMenu Lib "user32" Alias "ModifyMenuA" (ByVal hMenu As Long, ByVal _
nPosition As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpString As Any) As Long
Private Sub Form_Load()
Dim hMenu&, hSubMenu&, hMenuItem&, Position&
Position = 0 ' Позиция меню, сдвигаемого вправо
hMenu = GetMenu(Me.hwnd)
hSubMenu = GetSubMenu(hMenu, Position)
ModifyMenu hMenu, Position, MF_POPUP + MF_BYPOSITION + MF_HELP, hSubMenu, "Меню2"
End Sub
Вместо текста "Меню" следует написать текст того меню, который ты сдвигается вправо.
Если после этого пункта стоят еще пункты, то они тоже сдвинутся вправо.
FAQ составлен по материалам Форума на Исходниках.Ру.
Составитель:
Crew
Copyright © 2002 by Sources.ru. All rights
reserved.