欢迎访问服务器技术网-www.fuwuqijishu.com

卸载控件

程序设计 fuwuqijishu 2年前 (2022-10-01) 180次浏览 0个评论 扫描二维码

关于请问在vb里面怎么卸载不是动态加载的控件.

我试了好多次,都提示无法卸载.请问有其它

方法解决吗?

的问题

——————————————————
最新修改回答:
对不起我没注意,您的控件是windowless类型的控件,比如 image,label,flash,shape等都是这样的,这样有两个方法卸载,不过思想都是一样的,就是把它放进一个由窗口句柄的容器里:
1。
直接放进picbox里,或者根本就用picturebox代替你的图形控件,只要你要用的不是image的strenth属性,完全可以用picbox代替。
2。如果您要用的恰好是image的strenth属性,可以自己定义一个用户控件,在里面设置一个只读属性“hWnd”,就可以由程序正常卸载了。
但是label空间就不一样了,无论怎样,只要您把它放进picbox还是其他容器,背景透明的功能都无法实现。
如果您的自定义控件不熟悉的话,可以发邮件给我,我给你个例子。
由于我的粗心给您带来的不便敬请原谅
————————————————————————
上面几位大虾没有把问题搞清楚,是卸载非动态控件,而不是卸载系统中的什么
一般情况下卸载动态加载的控件只需unload ,而对非动态加载的控件无效,不过可以让他自己关闭就行了
我们可以用sendmessage关闭窗口,同样也可以关闭控件
先在窗体中声明如下Api及常量
Private Declare Function SendMessage Lib “user32” Alias “SendMessageA” (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_CLOSE = &H10
然后在关闭的地方调用
SendMessage Command1。
hwnd, WM_CLOSE, 0, 0
只要是有。
hwnd属性的控件都可以这样卸载,没有的我就没办法了
给你我这个程序,按command3就可以卸载command1
—————————————————————————————
不好意思,我上传的附件中的exe没有更新,你重新生成一下,或者直接在vb环境下运行,我这里没有vb,没法在生成,请见谅
——————————————————————————————
参见

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

Warning: error_log(/www/wwwroot/fuwiqijishu/wp-content/plugins/spider-analyser/#log/log-2409.txt): failed to open stream: No such file or directory in /www/wwwroot/fuwiqijishu/wp-content/plugins/spider-analyser/spider.class.php on line 2900