Как выделить меню bold'ом?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Как выделить меню bold'ом?

Сообщение Sedge » 11.10.2004 (Пн) 17:51

Сабж. Поиск пока ничего не дал. Может не там ищу? :(

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.10.2004 (Пн) 18:05

Определённо не там.
http://bbs.vbstreets.ru/viewtopic.php?t=6807
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 11.10.2004 (Пн) 18:44

Хм. А можно ткнуть носом в соответствующую строчку кода?
Только без регионов и перересовки в стиле 3.11 8)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.10.2004 (Пн) 18:54

Проперть ItemDefault.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.10.2004 (Пн) 19:11

У стандартного метода PopupMenu жирный пункт задаётся последним параметром - DefaultMenu:
Optional. Specifies the name of a menu control in the pop-up menu to display its caption in bold text. If omitted, no controls in the pop-up menu appear in bold.
Изображение

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 11.10.2004 (Пн) 21:13

tyomitch писал(а):У стандартного метода PopupMenu жирный пункт задаётся последним параметром - DefaultMenu:
Optional. Specifies the name of a menu control in the pop-up menu to display its caption in bold text. If omitted, no controls in the pop-up menu appear in bold.

Я спрашивал про обычное меню. То, которое дизайнится на форме с использованием Menu Editor. C PopUp'ом-то все просто.

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 12.10.2004 (Вт) 9:32

GSerg писал(а):Проперть ItemDefault.

SetMenuDefaultItem - кто бы мог подумать 8)
Разобрался, спасибо.
Код: Выделить всё
Option Explicit

Private Declare Function SetMenuDefaultItem Lib "user32" _
  (ByVal hMenu As Long, ByVal uItem As Long, ByVal fByPos As Long) As Long

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 Sub Form_Load()
'
On Error GoTo eRes

'//------------------------------------------------------------------------------------
  Dim lMenuHwnd As Long, lSubMenuHwnd As Long
'//------------------------------------------------------------------------------------

lMenuHwnd = GetMenu(Me.hwnd)
lSubMenuHwnd = GetSubMenu(lMenuHwnd, 1)
lblActionRes.Caption = "SetMenuDefaultItem = " & SetMenuDefaultItem(lSubMenuHwnd, 0, 1)

Exit Sub
eRes:
  Call MsgBox(Err.Description)
End Sub


Только вот возник еще один вопрос, а можно ли сделать дефолтным пункт основного меню, из самого верхнего уровня, которое непосредственно на форме отображается? Я с параметрами поигрался - не получилось.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.10.2004 (Вт) 10:49

Теоретически видимо да.
Только после этого нужно вызвать drawmenubar.
Если и так не получится, значит теоретически видимо нет :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 12.10.2004 (Вт) 16:10

Хех. Была ночь, глюки бегали по десктопу и нагло смеялись :)
Все заработало. И без DrawMenuBar.
Код: Выделить всё
    SetMenuDefaultItem(lMenuHwnd, 0, 1)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 4

    TopList