بابا اینقدر جواب ندادید که من خودم جوابشو پیدا کردم. یه چیزای من دراری ای از خودم در آوردم ولی خب خدارو شکر جواب داد.
این نمونه کدی که ساختم کار باهاش خیلی راحته.
مثلا شما 3 تا منوی مادر دارید که داخلشون هزارتا زیر منو هستش.
شما بعنوان آرگومان اول اگر صفر بدید و بعنوان آرگومان دوم متن اولین زیر منوی مورد نظر رو بدید اونوقت فقط منوی مادر اول و تمام زیر منوهاش راست میشن. و به همین ترتیب تا آخر دوباره این ساب رو اجرا میکنید.
امتحان کنید تا خودتون ببینید :
Private Const MFT_RADIOCHECK = &H200&
Private Const MIIM_TYPE = &H10
Private Const MIIM_SUBMENU = &H4
'///////// MENU_ALIGN_CHANGER NEEDED !!! //////////
Private Const MFT_RIGHTORDER = &H2000
Private Type MENUITEMINFO
cbSize As Long
fMask As Long
fType As Long
fState As Long
wID As Long
hSubMenu As Long
hbmpChecked As Long
hbmpUnchecked As Long
dwItemData As Long
dwTypeData As String
cch As Long
End Type
Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetMenuItemInfo Lib "user32" Alias "GetMenuItemInfoA" (ByVal hMenu As Long, ByVal un As Long, ByVal b As Boolean, lpmii As MENUITEMINFO) As Long
Private Declare Function SetMenuItemInfo Lib "user32" Alias "SetMenuItemInfoA" (ByVal hMenu As Long, ByVal uItem As Long, ByVal fByPosition As Long, lpmii As MENUITEMINFO) As Long
Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
'\\\\\\\\\ MENU_ALIGN_CHANGER NEEDED !!! \\\\\\\\\\
Public Sub MENU_ALIGN_CHANGER(ByVal THE_MENU_POSITION As Long, ByVal THE_FIRST_CAPTION_OF_IT As String)
On Error Resume Next
Dim hMenu As Long, hSubMenu As Long, MII As MENUITEMINFO
'get the handle of the current menu
hMenu = GetMenu(Me.hwnd)
'get the handle of the first submenu
hSubMenu = GetSubMenu(hMenu, THE_MENU_POSITION)
'initialize the structure
MII.cbSize = Len(MII)
MII.fMask = MIIM_SUBMENU
'retrieve information about the menu item
GetMenuItemInfo hSubMenu, 0, True, MII
'display checked menu items using a radio-button mark instead of a check mark
MII.fMask = MIIM_TYPE
MII.fType = MFT_RIGHTORDER
MII.dwTypeData = THE_FIRST_CAPTION_OF_IT
SetMenuItemInfo hSubMenu, 0, True, MII
End Sub
Private Sub Form_Load()
MENU_ALIGN_CHANGER 0, "ãíáÇÏ"
End Sub
معمولا این موقع ها ایده های همه گل میکنه. پس لطفا اگر گل کرد. ما رو هم خبر کنید. ممنون