GUICtrlCreateMenuItem创建上下文菜单中的文字能左对齐吗?[已解决]
本帖最后由 wua0550 于 2012-2-27 02:16 编辑#include <GuiMenu.au3>
#include <GuiConstantsEx.au3>
#include <WinAPI.au3>
#include-once
Local $MenuItem
Local $MenuItemName = ['打开', '新建 &N', '打开 &O', '保存 &S', '', '退出 &X']
$hGUI = GUICreate("菜单函数演示", 400, 300)
; 创建文件菜单
$hMenu = GUICtrlCreateMenu("菜单")
For $i = 0 To UBound($MenuItem) - 1
$MenuItem[$i] = GUICtrlCreateMenuItem($MenuItemName[$i], $hMenu)
Next
GUISetState()
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE如图
GUICtrlCreateMenuItem 创建的上下文菜单中的文字都是居中对齐的能不能改为靠左对齐啊?
已解决方法在3楼 加上空格不就好了。 回复 2# pusofalse
不行的加上空格后菜单的宽度也会相应增加,如果算上空格符~一样的居中对齐的
_GDIPlus_StringFormatSetAlign好像可以做,研究中 本帖最后由 benkel 于 2012-2-27 01:54 编辑
那个不是对齐!菜单左边的空间是给图标、复选标记预留出的空间,_GUICtrlMenu_SetMenuStyle来让菜单不预留,例子:#include <GuiMenu.au3>
Local $MenuItem
Local $MenuItemName = ['打开', '新建 &N', '打开 &O', '保存 &S', '', '退出 &X']
$hGUI = GUICreate("菜单函数演示", 400, 300)
; 创建文件菜单
$hMenu = GUICtrlCreateMenu("菜单")
For $i = 0 To UBound($MenuItem) - 1
$MenuItem[$i] = GUICtrlCreateMenuItem($MenuItemName[$i], $hMenu)
Next
$hMain = _GUICtrlMenu_GetMenu($hGUI)
$hFile = _GUICtrlMenu_GetItemSubMenu($hMain, 0)
ConsoleWrite(_GUICtrlMenu_SetMenuStyle($hFile,$MNS_NOCHECK) & @CRLF)
GUISetState()
Do
Until GUIGetMsg() = -3补充:
$hMain = _GUICtrlMenu_GetMenu($hGUI)
$hFile = _GUICtrlMenu_GetItemSubMenu($hMain, 0)
可以用$hFile = GUICtrlGetHandle($hMenu)来代替 回复 4# benkel
谢谢指点学习了 留个脚印。。谢谢分享 向四楼学习了 。。。。。 如何自定义坐标位置,比如把菜放在中间,或者是下面
页:
[1]