LISTVIEW 处于 DISABLE状态后 则滚动条无法拉动,有办法 可以拉动吗??
LISTVIEW 处于 DISABLE状态后 则滚动条无法拉动,有办法 可以拉动吗??或者 改变处于 READONLY 状态 可以吗??
简单的说就是想要 LISTVIEW 处于只读的状态 ,只想让USER 可以拉动
看内容而已…………
有办法做到吗???
是否可以发送按键下来实现拖动? 本帖最后由 tubaba 于 2016-10-18 18:55 编辑
回复 1# kk_lee69
不知道你想要什么效果,被禁用了应该就不能动了吧. listview本来就是只读的啊?或者你想要保持列宽不变?也就是列表头不能被拖动?
如果是这样,表头的句柄获取$hTab1_ListView2_Header = _GUICtrlListView_GetHeader($hTab1_ListView2)
注册WM_NOTIFY消息.然后只要在拖动表头的消息$HDN_BEGINTRACK, $HDN_BEGINTRACKW, $HDN_ITEMCHANGING, $HDN_ITEMCHANGINGW 发生后返回 0 就成了 回复 3# tubaba
呵呵 因為我使用了太多 左擊 雙左擊 右擊 的功能
所以 想說DISABLE 這樣我就不用再特別處理 這些問題了
目的是 讓 USER 只能看 不能使用其他功能 本帖最后由 tubaba 于 2016-10-18 19:39 编辑
回复 4# kk_lee69
那也行的,消息过滤,除了滚动条消息之外,其它一律return false
在列表更新完成以后注册WM_NOTIFY,或者设置一个全局标志.然后消息过滤 回复 5# tubaba
可是有個缺憾你知道 ENABLE 跟 DISABLE 顏色不一樣 USER 會知道有分別
但是 我 鎖掉 消息後 顏色是不會變的因此不會有 啟用 跟不啟用的差別
所以後來就在想辦法 看看能不能變成半透明沒想到這條路也是不通.... 禁用控件后,另作按钮滚动吧.#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>
$GUI = GUICreate("Listview Custom Draw", 400, 300)
$ListView = GUICtrlCreateListView( "Column 1|Column 2|Column 3", 2, 2, 394, 268)
$hListView = GUICtrlGetHandle(-1)
_GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_CHECKBOXES, $LVS_NOSCROLL))
For $i = 1 To 35
_GUICtrlListView_AddItem($hListView, "Row" & $i & ": Col 1", $i - 1)
For $j = 1 To 2
_GUICtrlListView_AddSubItem($hListView, $i - 1, "Row" & $i & ": Col " & $j + 1, $j)
Next
Next
GUICtrlSetState($ListView, $gui_disable)
$button1 = GUICtrlCreateButton('向上', 290, 280, 50, 18)
$button2 = GUICtrlCreateButton('向下', 340, 280, 50, 18)
GUISetState()
While 1
$msg =GUIGetMsg()
Switch $msg
Case$GUI_EVENT_CLOSE
GUIDelete()
Exit
Case $button2
_GUICtrlListView_Scroll($hListView, 0, 150)
Case $button1
_GUICtrlListView_Scroll($hListView, 0, -150)
EndSwitch
WEnd
回复 7# Alam
這個想法不錯了也是個解決辦法!!感謝 回复 7# Alam
横的滑块如何拉动? _GUICtrlListView_Scroll($hListView, 100, 0)回复 9# chzj589 回复 10# Alam
横的滑块向右这样可以。
_GUICtrlListView_Scroll($hListView, 5, -10)
向左呢? 回复 11# chzj589 _GUICtrlListView_Scroll($hListView, -100, 0) 回复 12# Alam
谢谢!{:face (361):}
横的滑块向右:
_GUICtrlListView_Scroll($hListView, 100, 0)
横的滑块向左:
_GUICtrlListView_Scroll($hListView, -100, 0)
页:
[1]