webberliuwei 发表于 2013-1-15 13:21:41

[已解决]如何修改_GUICtrlListView_Create字体大小?谢谢!

本帖最后由 webberliuwei 于 2013-1-15 14:20 编辑

使用_GUICtrlListView_Create而不是用GUICtrlCreateListView
建立一个listview后如何调整listview中的字体大小,请各位高手请教一下,非常感谢!

已解决,详见4楼......

例子如下,#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <Constants.au3>
$gui = GUICreate("ListView Set BkColor", 400, 300)
$hListView = _GUICtrlListView_Create($gui, "", 2, 2, 394, 268)
GUISetState()
_GUICtrlListView_SetBkColor($hListView, $CLR_MONEYGREEN);修改背景颜色
_GUICtrlListView_SetTextColor($hListView, 0xffffff);修改字颜色
_GUICtrlListView_SetTextBkColor($hListView, $CLR_MONEYGREEN);修改字背景颜色
GUICtrlSetFont($hListView, 11, 800, 0, "宋体");这个语句只对 GUICtrlCreateListView生效?如何修改字体大小?

; 添加列
_GUICtrlListView_AddColumn($hListView, "Items", 100)
; 添加项目
_GUICtrlListView_BeginUpdate($hListView)
For $iI = 1 To 10
        _GUICtrlListView_AddItem($hListView, "Item " & $iI)
Next
_GUICtrlListView_EndUpdate($hListView)

; 显示颜色
; 循环直到用户退出
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()

netegg 发表于 2013-1-15 13:24:28

udf区找找修改listview单元格字体

webberliuwei 发表于 2013-1-15 13:35:59

udf区找找修改listview单元格字体
netegg 发表于 2013-1-15 13:24 http://www.autoitx.com/images/common/back.gif
谢谢关注,之前搜了一下这个问题,貌似没有很好的答案.
这个UDF可以改背景,背景色,字体色,但是貌似没有语句改字的大小,默认的字体太小了,郁闷中....
能否给个简单的例子?thanks.

happytc 发表于 2013-1-15 14:09:05

本帖最后由 happytc 于 2013-1-15 14:11 编辑

回复 1# webberliuwei

GUICtrlSetFont是基于API函数 _WinAPI_CreateFont(),所以你需要自己调用它。
另外微软的Listview控件有个著名的bug,就是不能改变字段字的字体大小,若系统主题没有关掉的话

#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <Constants.au3>
#include <WindowsConstants.au3>
#include <FontConstants.au3>
#include <WinAPI.au3>
$hFont = _WinAPI_CreateFont(20, 10, 0, 0, $FW_NORMAL, False, False, False, $DEFAULT_CHARSET, $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Arial')
$gui = GUICreate("ListView Set BkColor", 400, 300)
$hListView = _GUICtrlListView_Create($gui, "", 2, 2, 400, 400)
GUISetState()
_WinAPI_SetFont($hListView, $hFont, True)
_GUICtrlListView_SetBkColor($hListView, $CLR_MONEYGREEN);修改背景颜色
_GUICtrlListView_SetTextColor($hListView, 0xffffff);修改字颜色
_GUICtrlListView_SetTextBkColor($hListView, $CLR_MONEYGREEN);修改字背景颜色
;~ GUICtrlSetFont($hListView, 11, 800, 0, "宋体");这个语句只对 GUICtrlCreateListView生效?如何修改字体大小?

; 添加列
_GUICtrlListView_AddColumn($hListView, "Items", 100)
; 添加项目
_GUICtrlListView_BeginUpdate($hListView)
For $iI = 1 To 10
      _GUICtrlListView_AddItem($hListView, "Item " & $iI)
Next
_GUICtrlListView_EndUpdate($hListView)

; 显示颜色
; 循环直到用户退出
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()

webberliuwei 发表于 2013-1-15 14:17:28

回复webberliuwei

GUICtrlSetFont是基于API函数 _WinAPI_CreateFont(),所以你需要自己调用它。
另外 ...
happytc 发表于 2013-1-15 14:09 http://www.autoitx.com/images/common/back.gif
Very Cool~非常感谢~happytc!{:face (316):}
页: [1]
查看完整版本: [已解决]如何修改_GUICtrlListView_Create字体大小?谢谢!