arkhe 发表于 2011-8-16 16:27:39

EventMode下如何使GUICtrlCreateListView创建的list不可拖动【已解决】

本帖最后由 arkhe 于 2011-8-16 22:53 编辑

搜索之后发现了一下代码,但是mode是msg的,
如果在event mode下添加以下代码之后,
程序在关闭之后,只是表面的退出,后台还在运行。
如果是msg mode就没有这么问题,
我现在想知道怎么去吧下面的这段代码转化为event mode。。。
如有知道的童鞋,请support下吧,不胜感激。。。
{:face (88):}


改成msg mode之后,程序可以正常运行,
但是其他的基本还是没有变动,我看着代码就感觉不伦不类
嘿嘿,知道怎么去改了还可以多学习一些东西。。。
{:face (197):}#include <GUIListView.au3>
#include <WindowsConstants.au3>

GUICreate('不允许拉动表头', 400, 200)
$ListView = GUICtrlCreateListView('Test|aaaaaa|bbbbbbb|ccccc', 5, 5, 390, 150)
_GUICtrlListView_SetColumnWidth($ListView, 0, 120)
GUICtrlCreateListViewItem('1111|2222|333|44444', $ListView)


$hCall = DllCallbackRegister("_ListViewProc", "int", "hWnd;uint;wparam;lparam")
$pCall = DllCallbackGetPtr($hCall)
$hOldC = _WinAPI_SetWindowLong(GUICtrlGetHandle($ListView), -4, $pCall)


GUISetState()

Do
Until guiGetMsg() = -3
GUIDelete()

Func _ListViewProc($hWnd, $iMsg, $wparam, $lparam)
      If $iMsg = $WM_NOTIFY Then Return 1
      Return _WinAPI_CallWindowProc($hOldC, $hWnd, $iMsg, $wparam, $lparam)
EndFunc      ;==>_ListViewProc

arkhe 发表于 2011-8-16 22:38:59

问题终于知道怎么解决了。

在_Close() fun下增加一个GUIDelete()就ok了.....

彻底关闭程序,而不会留有后台的进程。。。

我太笨了啊。。。{:face (319):}Func _Close()
        GUIDelete()
        Exit
EndFunc
页: [1]
查看完整版本: EventMode下如何使GUICtrlCreateListView创建的list不可拖动【已解决】