找回密码
 加入
搜索
查看: 2344|回复: 1

[AU3基础] EventMode下如何使GUICtrlCreateListView创建的list不可拖动【已解决】

[复制链接]
发表于 2011-8-16 16:27:39 | 显示全部楼层 |阅读模式
本帖最后由 arkhe 于 2011-8-16 22:53 编辑

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



改成msg mode之后,程序可以正常运行,
但是其他的基本还是没有变动,我看着代码就感觉不伦不类
嘿嘿,知道怎么去改了还可以多学习一些东西。。。
#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
 楼主| 发表于 2011-8-16 22:38:59 | 显示全部楼层
问题终于知道怎么解决了。

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

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

我太笨了啊。。。
Func _Close()
        GUIDelete()
        Exit
EndFunc
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-1 19:23 , Processed in 0.084711 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表