如何 确认 LISTVIEW 是否含有$LVS_SINGLESEL 的风格??[已解决]
本帖最后由 kk_lee69 于 2017-9-1 10:14 编辑如何 确认 LISTVIEW 是否含有$LVS_SINGLESEL 的风格??
_GUICtrlListView_GetExtendedListViewStyle 似乎 只能找出 Extended 的
不能找出 $LVS_SINGLESEL
有人有办法吗?? 这个么#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ListViewConstants.au3>
#include <WinAPI.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 437, 192, 124)
$listview = GUICtrlCreateListView("1|2|3", 10, 10, 500, 200)
$hlistview = GUICtrlGetHandle(-1)
Local $idItem1 = GUICtrlCreateListViewItem("item2|col22|col23", $listview)
Local $idItem2 = GUICtrlCreateListViewItem("item1|col12|col13", $listview)
Local $idItem3 = GUICtrlCreateListViewItem("item3|col32|col33", $listview)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Local $style = _WinAPI_GetWindowLong($hlistview, $GWL_STYLE)
If BitAND($style, $LVS_REPORT) = $LVS_REPORT Then ConsoleWrite("$LVS_REPORT 控件为报表视图" & @CRLF) ;0x0001 控件为报表视图.
If BitAND($style, $LVS_SMALLICON) = $LVS_SMALLICON Then ConsoleWrite("$LVS_SMALLICON 控件为小图标视图" & @CRLF) ;0x0002 控件为小图标视图.
If BitAND($style, $LVS_LIST) = $LVS_LIST Then ConsoleWrite("$LVS_LIST 控件为列表视图" & @CRLF) ;0x0003 控件为列表视图.
If BitAND($style, $LVS_EDITLABELS) = $LVS_EDITLABELS Then ConsoleWrite("$LVS_EDITLABELS 项目文字可以就地编辑." & @CRLF) ;0x0200 项目文字可以就地编辑.
If BitAND($style, $LVS_NOCOLUMNHEADER) = $LVS_NOCOLUMNHEADER Then ConsoleWrite("$LVS_NOCOLUMNHEADER 报表视图不显示列标题. 默认报表视图显示列标题." & @CRLF) ;0x4000 报表视图不显示列标题. 默认报表视图显示列标题.
If BitAND($style, $LVS_NOSORTHEADER) = $LVS_NOSORTHEADER Then ConsoleWrite("$LVS_NOSORTHEADER 列标题不工作于按钮状态, 用于要求单击列标题不执行任何操作的情况中." & @CRLF) ; 0x8000 列标题不工作于按钮状态, 用于要求单击列标题不执行任何操作的情况中.
If BitAND($style, $LVS_SINGLESEL) = $LVS_SINGLESEL Then ConsoleWrite("$LVS_SINGLESEL 同一时间内只有一个项目可以选择." & @CRLF) ; 0x0004 同一时间内只有一个项目可以选择.
If BitAND($style, $LVS_SHOWSELALWAYS) = $LVS_SHOWSELALWAYS Then ConsoleWrite("$LVS_SHOWSELALWAYS 如果存在选择项, 即使控件没有焦点也始终显示" & @CRLF) ;0x0008 如果存在选择项, 即使控件没有焦点也始终显示.
If BitAND($style, $LVS_SORTASCENDING) = $LVS_SORTASCENDING Then ConsoleWrite("$LVS_SORTASCENDING 按项目文本升序排序" & @CRLF) ; 0x0010 按项目文本升序排序.
If BitAND($style, $LVS_SORTDESCENDING) = $LVS_SORTDESCENDING Then ConsoleWrite("$LVS_SORTDESCENDING 按项目文本降序排序" & @CRLF) ; 0x0020 按项目文本降序排序.
If BitAND($style, $LVS_NOLABELWRAP) = $LVS_NOLABELWRAP Then ConsoleWrite("$LVS_NOLABELWRAP 图标视图中项目文本单行显示. 默认图标视图的项目文本可能会换行." & @CRLF) ;0x0080 图标视图中项目文本单行显示. 默认图标视图的项目文本可能会换行.
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
回复 2# yamakawa
對就是他去哪找的??
_WinAPI_GetWindowLong 的範例嗎?? 回复 3# kk_lee69
{:face (394):}自己写的啊。
页:
[1]