Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Изменить цвет меню Добавлено: 16.12.03 08:58  

Автор вопроса:  Александр | ICQ: 204034 

Народ, помогите!!! Надо изменить цвет меню. Желательно Код на API.

Посоветуйте, как можно запихать кратинки в меню. Статья на VBNet не подходит - мне нужно как в самом Basic'e.

Ответить

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

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


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 16.12.03 11:09

Private Declare Function CreateBrushIndirect Lib "gdi32" (lpLogBrush As LOGBRUSH) As Long

Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long

Private Declare Function GetMenuInfo Lib "user32" (ByVal hMenu As Long, lpcmi As tagMENUINFO) As Long

Private Declare Function SetMenuInfo Lib "user32" (ByVal hMenu As Long, lpcmi As tagMENUINFO) As Long

Private Type LOGBRUSH

lbStyle As Long

lbColor As Long

lbHatch As Long

End Type

Private Type tagMENUINFO

cbSize As Long

fMask As Long

dwStyle As Long

cyMax As Long

hbrBack As Long

dwContextHelpID As Long

dwMenuData As Long

End Type

Private Const BS_SOLID = 0

Private Const MIM_APPLYTOSUBMENUS = &H80000000

Private Const MIM_BACKGROUND = &H2

Private Sub Form_Load()

Dim ret As Long, hMenu As Long, hBrush As Long

Dim lbBrushInfo As LOGBRUSH, miMenuInfo As tagMENUINFO

lbBrushInfo.lbStyle = BS_SOLID

lbBrushInfo.lbColor = vbGreen

lbBrushInfo.lbHatch = 0

hBrush = CreateBrushIndirect(lbBrushInfo)

hMenu = GetMenu(Me.hwnd)

miMenuInfo.cbSize = Len(miMenuInfo)

ret = GetMenuInfo(hMenu, miMenuInfo)

miMenuInfo.fMask = MIM_APPLYTOSUBMENUS Or MIM_BACKGROUND

miMenuInfo.hbrBack = hBrush

ret = SetMenuInfo(hMenu, miMenuInfo)

End Sub

Картинки в меню запихиваются либо через SetMenuItemBitmaps, либо через субклассинг, ручной отрисовкой меню.

Ответить

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


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #2
Добавлено: 16.12.03 11:11

Private Declare Function CreateBrushIndirect Lib "gdi32" (lpLogBrush As LOGBRUSH) As Long

Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long

Private Declare Function GetMenuInfo Lib "user32" (ByVal hMenu As Long, lpcmi As tagMENUINFO) As Long

Private Declare Function SetMenuInfo Lib "user32" (ByVal hMenu As Long, lpcmi As tagMENUINFO) As Long

Private Type LOGBRUSH

lbStyle As Long

lbColor As Long

lbHatch As Long

End Type

Private Type tagMENUINFO

cbSize As Long

fMask As Long

dwStyle As Long

cyMax As Long

hbrBack As Long

dwContextHelpID As Long

dwMenuData As Long

End Type

Private Const BS_SOLID = 0

Private Const MIM_APPLYTOSUBMENUS = &H80000000

Private Const MIM_BACKGROUND = &H2

Private Sub Form_Load()

Dim ret As Long, hMenu As Long, hBrush As Long

Dim lbBrushInfo As LOGBRUSH, miMenuInfo As tagMENUINFO

lbBrushInfo.lbStyle = BS_SOLID

lbBrushInfo.lbColor = vbGreen

lbBrushInfo.lbHatch = 0

hBrush = CreateBrushIndirect(lbBrushInfo)

hMenu = GetMenu(Me.hwnd)

miMenuInfo.cbSize = Len(miMenuInfo)

ret = GetMenuInfo(hMenu, miMenuInfo)

miMenuInfo.fMask = MIM_APPLYTOSUBMENUS Or MIM_BACKGROUND

miMenuInfo.hbrBack = hBrush

ret = SetMenuInfo(hMenu, miMenuInfo)

End Sub

Картинки в меню запихиваются либо через SetMenuItemBitmaps, либо через субклассинг, ручной отрисовкой меню.

Ответить

Номер ответа: 3
Автор ответа:
 Александр



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

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #3 Добавлено: 16.12.03 12:24

>Картинки в меню запихиваются либо через SetMenuItemBitmaps, либо через субклассинг, ручной отрисовкой меню.

Это как? Можно примером на мыло?

Ответить

Номер ответа: 4
Автор ответа:
 Ворон



ICQ: 178095693 

Вопросов: 6
Ответов: 24
 Профиль | | #4 Добавлено: 16.12.03 20:14

Sharp, и мне, если не трудно, примерчик на мыло скинь!

Ответить

Номер ответа: 5
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #5
Добавлено: 17.12.03 22:11

2Александр: пример выслал

2Ворон: а как мне его узнать?

Ответить

Страница: 1 |

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



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