亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? modmenusxp.bas

?? 很好一套庫存管理
?? BAS
?? 第 1 頁 / 共 5 頁
字號:
                ThreeDbox lOffsets(1), .rcItem.Top, lOffsets(0) - 5, .rcItem.Bottom - 1, bSelected
             End If
        End If
        If IsSep Then
             'Finally, draw the special separator bar if needed
             ' however, if the separator has text, then we need to do
             '    some additional calculations
             If Len(sCaption) Then
                  ' separator bars with text
                  SetMenuFont True, , True    ' use smaller font
                  tRect = .rcItem             ' copy the menuitem coords
                  ' send caption to be printed in menu-select color
                  ' of course any color can be used & if you want to use the
                  ' standard 3D gray disabled color then Rem out the next line
                  ' and un-rem the next 3 lines & the second DrawCapton line
                  DrawCaption .rcItem.Left, .rcItem.Top + 3, tRect, sCaption, "", 0, GetSysColor(COLOR_HIGHLIGHT), True, CInt(lOffsets(1))
                  'DrawCaption .rcItem.Left, .rcItem.Top + 3, tRect, sCaption, "", 0, lTextColor, True
                  'tRect = .rcItem             ' recopy menuitem coords
                  'OffsetRect tRect, -1, -1    ' move coords up & left by 1
                  ' send caption again in gray
                  'DrawCaption .rcItem.Left - 1, .rcItem.Top + 2, tRect, sCaption, "", 0, GetSysColor(COLOR_GRAYTEXT), True
                  If bMenuItemChecked = False Then
                      ' here we add the lines on both sides of the separator caption
                      ThreeDbox 4 + lOffsets(1), _
                          (.rcItem.Bottom - .rcItem.Top) \ 2 + .rcItem.Top, _
                          tRect.Left - 4, _
                          (.rcItem.Bottom - .rcItem.Top) \ 2 + 1 + .rcItem.Top, True
                      ThreeDbox tRect.Right + 4, _
                          (.rcItem.Bottom - .rcItem.Top) \ 2 + .rcItem.Top, _
                          .rcItem.Right - 4, _
                          (.rcItem.Bottom - .rcItem.Top) \ 2 + 1 + .rcItem.Top, True
                  End If
             Else
              ' This will remove or add a 3D raised box for checked/non-checked items
              If bMenuItemChecked = False Then ThreeDbox lOffsets(1) + .rcItem.Left, .rcItem.Top + 2, .rcItem.Right - 4 + lOffsets(1), .rcItem.Bottom - 2, True
             End If
        End If
        'Select the old objects into the menu's DC
        Call SelectObject(.hDC, hOldBr)
        Call SelectObject(.hDC, hOldPen)
        'Delete the ones we created
        Call DeleteObject(hBR)
        Call DeleteObject(hPen)
        Call DeleteObject(hChkBr)
        SetMenuFont False
    End With
    CustomDrawMenu = True   ' set flag to prevent resending to form
Case WM_MEASUREITEM
    Dim MeasureInfo As MEASUREITEMSTRUCT
    'Get the MEASUREITEM info, basically submenu item height/width
    Call CopyMemory(MeasureInfo, ByVal lParam, Len(MeasureInfo))
    ' only process menu items, other windows items send above message
    ' and we don't want to interfere with those. Also if we didn't
    ' process it, we don't touch it
    If MenuData(hWndRedirect).SetMenuID(MeasureInfo.ItemId, lSubMenu, False, False) = False Then Exit Function
    If MeasureInfo.CtlType <> ODT_MENU Then Exit Function
    IsSep = (((MenuData(hWndRedirect).Status And 2) = 2) And (Not MenuData(hWndRedirect).Status And 16) = 16)
    'Tell Windows how big our items are.
    ' add height of each item, add a buffer of 3 pixels top/bottom for text
    MeasureInfo.ItemHeight = MenuData(hWndRedirect).ItemHeight
    MeasureInfo.ItemWidth = MenuData(hWndRedirect).PanelWidth
    'Return the information back to Windows
    Call CopyMemory(ByVal lParam, MeasureInfo, Len(MeasureInfo))
    CustomDrawMenu = True
Case WM_ENTERIDLE ' done displaying panel, let's stop drawing icons
    bDrawIcon = False
End Select
End Function

Public Function HiWord(LongIn As Long) As Integer
' =====================================================================
'   Returns the high integer of a long variable
' =====================================================================
  Call CopyMemory(HiWord, ByVal VarPtr(LongIn) + 2, 2)
End Function

Public Function LoWord(LongIn As Long) As Integer
' =====================================================================
'   Returns low integer of a long variable
' =====================================================================
  Call CopyMemory(LoWord, LongIn, 2)
End Function

Private Function MakeLong(ByVal LoWord As Integer, ByVal HiWord As Integer) As Long
' =====================================================================
'   Converts 2 integers to a long variable
' =====================================================================
  MakeLong = CLng(LoWord)
  Call CopyMemory(ByVal VarPtr(MakeLong) + 2, HiWord, 2)
End Function

Private Function DetermineOS(Optional SetGraphicsModeDC As Long = 0) As Integer
' Determine OS. Win98, for sure, seems to adjust the menu panel width
'   to accomodate for the accelerator key within the menu. If the opposite
'   adjustment isn't made, the panels wind up being wider than desired.
'   Win98: adjustment needed
'   Win2K: adjustment not needed
'   WinNT: adjustment not needed
'   WinXP: adjustment not needed
'   Other O/S: ?

' The following are the platform, major version & minor version of OS to date (acquired from MSDN)
Const os_Win95 = "1.4.0"
Const os_Win98 = "1.4.10"
Const os_WinNT4 = "2.4.0"
Const os_WinNT351 = "2.3.51"
Const os_Win2K = "2.5.0"
Const os_WinME = "1.4.90"
Const os_WinXP = "2.5.1"

  Dim verinfo As OSVERSIONINFO, sVersion As String
  verinfo.dwOSVersionInfoSize = Len(verinfo)
  If (GetVersionEx(verinfo)) = 0 Then Exit Function         ' use default 0
  With verinfo
    sVersion = .dwPlatformId & "." & .dwMajorVersion & "." & .dwMinorVersion
  End With
  ' those where the iTabOffset is set are systems that I have seen the
  ' results on; otherwise, assume no adjustment is necessary
  Select Case sVersion
  Case os_Win98: iTabOffset = 32
  Case os_Win2K: iTabOffset = 0
  Case os_WinNT4: iTabOffset = 0
  Case os_WinNT351
    ' Problems when printing rotated text
    'According to MSDN, NT 3.51 only works on a setting of 2. Don't have the opportunity to test this.
    SetGraphicsMode SetGraphicsModeDC, 2
  Case os_Win95
  Case os_WinXP: iTabOffset = 0
  Case os_WinME
  End Select
End Function

Public Function GetFormHandle(hwnd As Long, Optional bIsMDI As Boolean) As Long
Dim i As Long
For i = Forms.Count - 1 To 0 Step -1
    If Forms(i).hwnd = hwnd Then Exit For
Next
If i > -1 Then
    If TypeOf Forms(i) Is MDIForm Then bIsMDI = True
    GetFormHandle = i
End If
End Function

Private Sub ReadMe()
'HOW TO USE THIS CLASS AND MODULES

'1. Each form that is subclassing menus must have the 2 lines of code entered into the events shown below.  The imagelist
'name is optional and must be provided if icons are to be displayed.  Any loaded form's imagelist can be used.

' MDI forms: If you are using MDI forms, if a child or parent is being subclassed,
' you must subclass each child and the parent. Additionally, the MDI children use the
' imagelist on the MDI form and MDI children do not reference the imagelist when
' the SetMenus command is called. All subclassed forms call the ReleaseMenus on form unload.

'    a. Form_Load:  the last statement in this event should be:   SetMenus   [form handle (.hWnd)] , [ImageList Name for Icons]
'         -- for MDI children:  SetMenus [form handle (.hWnd)]  << uses the parent MDI form's imagelist
'    b. Form_Unload:  the 1st statement in this event should be:   ReleaseMenus [form handle (.hWnd)]

'Example:      SetMenus Me.hWnd, ImageList1

'2.  DO NOT place breaks in the code when menus are subclassed or stop the code when menus are subclassed.
'Doing so will crash VB.  If you need to debug your code, set the public constant bAmDebugging=True within the
'modModules module.  This will prevent menus from being subclassed and will also prevent menus from displaying icons.
'Be sure to set that constant = False when you want to see the icons.

'3.  Do not put END statements in any of the forms that are subclassing menus.  The End statement may fire before
'the menus are  released which will cause a critical error.  The class and modules are written to release themselves
'via the ReleaseMenus command.

'4.  Assigning icons/bitmaps to your submenu items.

'     a. Suggestion: Small icons (16x16) are best as far as clarity goes
'     b. Suggeston: If bitmaps are used, use smaller bitmaps (16x16) vs larger bitmaps (32x32)
'     c. Add the following flag immediately in front of the menu's caption:  {IMG:#}
'     d. The # is the listimage icon index (1 thru n)
'     e.  If you want to supply a manually trapped accelerator key add that to the end of the menu caption. See para 6.
    
'     Example:  menu caption is E&xit and image number 2 will be assigned to it and Alt+F4 will be the
'               manually trapped accelerator key

'               {IMG:2}E&xit Alt+F4

'5.  Optional transparency flag.  By default, icons are NOT made to be transparent since they probably are anyway.
'However, bitmaps by default ARE made to be transparentt.  When transparency is invoked, the top left pixel
'decides which color is made transparent throughout the image.  Should you want to force an icon/bitmap to
'be transparent or not be transparent, add the following code after the icon index in the caption header flag:
              
'     |N to prevent transparency or |Y to force transparency

'    Example: I have a bitmap in the imagelist which has a colored background that I do NOT want made transparent.
'             Being a bitmap, by default, it will be made transparent. So I need to add then |N option to the menu caption:

'             {IMG:3|N}CD &Player Alt+P

'6. Accelerator keys. The menu builder allows you to select many accelerator keys and will automatically trap them for you.
'With this class & modules you can add other accelerator keys not provided by the menu builder (i.e., Alt+F4) and you
'can use the same accelerator key on more than one menu -- not allowed via the menu builder.

'    a. If you add an accelerator key manually (not via menu builder), you will need to trap those keys in the form's Key_Down
'        event by testing for KeyCode and Shift values

'    b. In the examples above, manually adding an accelerator key is as simple as placing it at the end of the caption.

'    c. The modules will align the accelerator keys neatly before they are displayed on the menu.

'7.  To change the caption or image of a menu after the program is running, simply change it in VB via the Caption property.
'The module will recognize the change and change the caption and/or assign the new icon.  If you want to remove the icon
'from the menu caption, do not include the {IMG:#} header or make the icon index = zero.  Note. The menu caption when
'referenced in VB will have the {IMG:#} header in the caption, but is stripped off when displaying the menu.

'      Example:  Change {IMG:5}Color Option is On     to read   Off    whle using the same icon
'      Changet to:   {IMG:5}Color Option is Off     << that's it!

'8. Checkmarks and enabled/disabled menu items.  The modules will draw a sunken box for menu items that are
'checked and include the icon inside the sunken box, if one is assigned; otherwise a checkmark is placed inside
' the sunken box.  Disabled menu items are made to imitate regular disabled items to include the icon and caption.

'9.  Separator bars.  You can add text to the separator bars.  While in the menu builder, include the hyphen/dash to
'designate the menu item as a separator and then add the text immediately after.  {IMG:#} headers will not be
'recognized on separators, nor will accelerator keys be spaced with other accelerator keys.  Separator bars,
'regardless if they have text or not, are not clickable.

'     a. By default, text on separator bars are one font point lower than the system menu font and a font type of Tahoma.

'     b. The color of the text on the separator will be the same color as the color used to highlight a menu item with the mouse.

'     c. If the bAmDebugging flag is set to True, then the separator bars will not be disabled.  Nor will they look disabled.

'10.  These modules do not interfere with any menu events (i.e., click events, popup position, etc, etc, etc are not affected)

'11.  These modules to not draw parent level menus.  In other words, menus that have submenus are not drawn by the
'modules -- but their submenus are.  The class and modules were written to use Windows default menu style but add
'the capability of icons to submenus.  Therefore, foreground colors, fonts and background colors are not supported
'as this would not mirror the parent level menu items.

'12.  The basic premis.  Provide a somewhat small class and modules that can be added to any project to support
'icons and make the subclassing easy.  Other projects available on the web will draw entire menus but come at
'a price -- large number of classes and modules added to each project or forcing DLLs on other users.

'13. Sidebars. These are bitmaps or text along the left edge of a menu panel.
'You can add a picture or text by following these format rules. The images on
'a sidebar will be shrunk to fit if necessary, otherwise centered into the sidebar.
'When images are shrunk, they are done proportionally, therefore, there may be
'space around the image within the sidebar. If the formatted string is incorrect,
'no sidebar will be shown.

'That menu item MUST be visible, otherwise no sidebar will be drawn

'On any submenu of a menu, add the following formatted string
'Don't use spaces. Spaces below done for readability

'   a. For images in controls like image controls, pictureboxes, etc:

'      {SIDEBAR:control | BCOLOR:color }
'      Example: {SIDEBAR:image1|BCOLOR:background}

'   b. For images passed as handles. You must provide much more information
'      {SIDEBAR:handle | BCOLOR:color }
'      (SIDEBAR:120928|BCOLOR:background}

'   The values for the tags in the above strings are as follows:
'   If image is passed as a control, t

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区在线播放| 久久99精品网久久| 日本不卡一二三| 成人午夜精品在线| 在线免费av一区| 久久久久久**毛片大全| 亚洲一区二区三区小说| 国产不卡视频在线观看| 国产精品亚洲人在线观看| 在线亚洲一区二区| 久久色在线观看| 日韩成人免费在线| 色av综合在线| 国产精品国模大尺度视频| 精品一区二区三区久久久| 欧美综合久久久| 亚洲精品大片www| 成人一区二区三区中文字幕| 日韩精品一区二区三区三区免费 | 日韩一区二区免费在线电影| 亚洲欧美日韩电影| jiyouzz国产精品久久| 精品国产乱码久久久久久蜜臀| 午夜精品久久久久久不卡8050| 亚洲在线成人精品| 国产精品一区二区免费不卡| 欧美在线看片a免费观看| 久久久久9999亚洲精品| 极品少妇xxxx精品少妇偷拍| 欧美夫妻性生活| 亚洲国产成人91porn| 色8久久精品久久久久久蜜| 亚洲欧美综合在线精品| 成人黄动漫网站免费app| 亚洲国产精品ⅴa在线观看| 福利一区二区在线| 久久久精品日韩欧美| 国产专区欧美精品| 精品99久久久久久| 国产激情视频一区二区三区欧美| 亚洲色欲色欲www| 一本一道久久a久久精品综合蜜臀| 一区二区三区在线视频观看58 | 视频一区免费在线观看| 91福利精品第一导航| 亚洲精品成人在线| 欧美午夜一区二区三区免费大片| 亚洲精品免费在线播放| 日本黄色一区二区| 午夜精彩视频在线观看不卡| 91精品国产91热久久久做人人| 男女性色大片免费观看一区二区 | 欧美一区二区福利视频| 久色婷婷小香蕉久久| 精品久久人人做人人爽| 日韩一区和二区| 日韩三级精品电影久久久| 日韩电影在线观看网站| 91精品国产黑色紧身裤美女| 精品一区二区精品| 国产欧美日韩久久| 欧洲国产伦久久久久久久| 视频一区二区不卡| 亚洲国产高清不卡| 在线观看亚洲成人| 久久99精品久久久久久国产越南 | 色综合久久久久久久久久久| 亚洲国产精品欧美一二99| 欧美一级二级三级乱码| 国产福利精品一区二区| 亚洲一区二区三区四区五区中文 | 99久久亚洲一区二区三区青草| 一区二区三区欧美视频| 日韩欧美不卡在线观看视频| 不卡高清视频专区| 日韩av一二三| 国产精品不卡在线| 欧美一区二区高清| 99re免费视频精品全部| 男女视频一区二区| 又紧又大又爽精品一区二区| 日韩精品一区国产麻豆| 色先锋久久av资源部| 国产一区二区三区精品欧美日韩一区二区三区 | 国产婷婷色一区二区三区四区| 欧美中文字幕一二三区视频| 国产精品小仙女| 日本不卡视频在线观看| 亚洲欧美福利一区二区| 久久久亚洲高清| 欧美精品久久久久久久多人混战 | 欧美极品美女视频| 日韩欧美www| 欧美日韩国产免费| 91麻豆高清视频| 成人美女在线观看| 韩日av一区二区| 蜜乳av一区二区| 午夜精品久久久久久久蜜桃app| 中文字幕日韩一区| 欧美经典一区二区| 26uuu欧美| 日韩一区二区精品葵司在线| 欧美二区三区的天堂| 欧美伊人久久大香线蕉综合69| 99久久国产免费看| 粉嫩久久99精品久久久久久夜| 国产在线播精品第三| 日日欢夜夜爽一区| 日韩av网站免费在线| 亚洲国产精品综合小说图片区| 一区二区三区欧美日| 最新日韩av在线| 亚洲区小说区图片区qvod| 中文字幕乱码久久午夜不卡| 亚洲国产精品激情在线观看| 国产色一区二区| 欧美激情资源网| 国产精品久久久久毛片软件| 国产精品电影院| 亚洲色图第一区| 亚洲国产精品久久人人爱| 亚洲图片自拍偷拍| 日韩激情一区二区| 蜜臀99久久精品久久久久久软件| 蜜臀av性久久久久av蜜臀妖精| 裸体歌舞表演一区二区| 色爱区综合激月婷婷| 欧美色视频一区| 欧美一区二区三区在线视频| 精品人在线二区三区| 国产亚洲欧美中文| 国产精品久久久爽爽爽麻豆色哟哟| 国产精品久久久久桃色tv| 一区二区三区在线观看国产| 香蕉久久夜色精品国产使用方法| 午夜国产精品影院在线观看| 久久99精品久久久久婷婷| 国产成人免费在线| 色哟哟一区二区在线观看| 欧美天堂一区二区三区| 欧美一二三区精品| 国产精品视频线看| 亚洲va国产va欧美va观看| 久久不见久久见免费视频7| 成人动漫视频在线| 欧美视频一区在线观看| 2019国产精品| 视频一区二区欧美| 日韩精品高清不卡| 久久成人免费日本黄色| 国产传媒日韩欧美成人| 色综合久久久久综合| 欧美三级中文字幕| 久久久亚洲精华液精华液精华液| 亚洲色图色小说| 精品综合免费视频观看| 99精品视频中文字幕| 91精品国产一区二区三区香蕉| 欧美激情一区二区三区不卡| 一个色综合av| 国内精品在线播放| 色婷婷av一区二区三区软件| 欧美va在线播放| 亚洲激情在线激情| 国产乱码一区二区三区| 欧美日韩一区视频| 日本一区二区三区高清不卡| 性欧美大战久久久久久久久| 不卡一区在线观看| 日韩你懂的在线观看| 亚洲综合免费观看高清完整版在线 | 午夜欧美一区二区三区在线播放| 久久99热狠狠色一区二区| youjizz久久| 精品国产乱码久久| 亚洲午夜精品在线| 处破女av一区二区| 精品国产自在久精品国产| 亚洲一区二区视频在线观看| av电影在线观看不卡| 久久久综合视频| 久久国产欧美日韩精品| 欧美日韩国产不卡| 伊人色综合久久天天人手人婷| 国产+成+人+亚洲欧洲自线| 日韩免费一区二区三区在线播放| 午夜国产精品一区| 精品视频一区二区不卡| 亚洲永久精品大片| 日本道色综合久久| 日韩美女啊v在线免费观看| 不卡影院免费观看| 国产精品久久久久久久午夜片| 国产a久久麻豆| 国产精品色在线| 成人v精品蜜桃久久一区| 日本一区二区高清| jlzzjlzz亚洲女人18| 国产精品久久网站|