MUDAR A COR DO MENU
Estou procurando uma forma de alterar a cor de fundo e do texto do menu, achei algumas opções aqui bo vbmania. Mas nada muito claro o suficiente para entender.
Se alguem conhece alguma API e tenha alguma explicação de como usar está API para tal função eu agradeço.
O mundo é uma Bola, então à CHUTE-AAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!!
Se alguem conhece alguma API e tenha alguma explicação de como usar está API para tal função eu agradeço.
O mundo é uma Bola, então à CHUTE-AAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!!
Ao invez de fazer essas alteracoes nao te interessa usar um bom componente para menu ?
Talvez deva dar uma olhada no HookMenu , esta na zona de downloads.
OBS: CASO TENHA INTERESSE.
flw's.
Talvez deva dar uma olhada no HookMenu , esta na zona de downloads.
OBS: CASO TENHA INTERESSE.
flw's.
Na versão que está com codigo fonte disponÃvel, não mostra como altera a cor, e a API que faz isso não ficou muito clara. Mas valeu, estarei ainda à procura;
CIANOS,
De uma olhada nesse codigo, creio que seja o que voce quer.
Fiz algumas modificacoes e coloquei alguns comentarios , para que voce entender melhor e possa modificar.
OBS: Crie alguns menus para ver o efeito.
Flw's
De uma olhada nesse codigo, creio que seja o que voce quer.
Fiz algumas modificacoes e coloquei alguns comentarios , para que voce entender melhor e possa modificar.
OBS: Crie alguns menus para ver o efeito.
Option Explicit
Private Const MIM_BACKGROUND As Long = &H2
Private Const MIM_APPLYTOSUBMENUS As Long = &H80000000
Private Type MENUINFO
cbSize As Long
fMask As Long
dwStyle As Long
cyMax As Long
hbrBack As Long
dwContextHelpID As Long
dwMenuData As Long
End Type
Private Declare Function DrawMenuBar 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 GetMenu Lib [Ô]user32[Ô] (ByVal hWnd As Long) As Long
Private Declare Function SetMenuInfo Lib [Ô]user32[Ô] (ByVal hMenu As Long, mi As MENUINFO) As Long
Private Declare Function CreateSolidBrush Lib [Ô]gdi32[Ô] (ByVal crColor As Long) As Long
Private Sub Form_Load()
Dim Menu As MENUINFO
With Menu
[ô] Pega tamanho
.cbSize = Len(Menu)
[ô] Coloca mascara
[ô] MIM_BACKGROUND = BACKGROUND
.fMask = MIM_BACKGROUND
[ô] Coloca cor na barra do menu
.hbrBack = CreateSolidBrush(vbYellow)
SetMenuInfo GetMenu(Form1.hWnd), Menu
[ô] Coloca mascara
[ô] MIM_BACKGROUND = BACKGROUND
[ô] MIM_APPLYTOSUBMENUS = SUB_MENUS
.fMask = MIM_BACKGROUND Or MIM_APPLYTOSUBMENUS
[ô] Coloca cor para ITEM 0 do menu
.hbrBack = CreateSolidBrush(vbCyan)
SetMenuInfo GetSubMenu(GetMenu(Form1.hWnd), 0), Menu
[ô] Coloca cor para ITEM 1 do menu
.hbrBack = CreateSolidBrush(RGB(130, 147, 8))
SetMenuInfo GetSubMenu(GetMenu(Form1.hWnd), 1), Menu
[ô] Coloca cor para ITEM 2 do menu
.hbrBack = CreateSolidBrush(RGB(244, 147, 8))
SetMenuInfo GetSubMenu(GetMenu(Form1.hWnd), 2), Menu
End With
[ô] Aplica cores
DrawMenuBar Form1.hWnd
End Sub
Flw's
beleza! está bastante claro, mas não vi uma forma de colorir o texto, como a propriedade FORECOLOR dos objetos.
Vou analizar melhor, ai eu respondo. Mas caso descubra como alterar a cor do texto do menu, me responda.
Valeu Brother, de ate mão já agradeço.
Vou analizar melhor, ai eu respondo. Mas caso descubra como alterar a cor do texto do menu, me responda.
Valeu Brother, de ate mão já agradeço.
Não estou conseguindo ainda....!!!!!!!
Tópico encerrado , respostas não são mais permitidas