导航
  • 主页
  • 招聘
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API
  • 问答

高手请进:什么时候调用ShowWindow可成功?

编程小战 2002-10-17 03:13:27
我写了一个VCL,在它的Create方法中调用了
ShowWindow(Application.Handle,SW_HIDE);
可程序没有从任务栏隐藏,
在TForm的Create方法中调用 
ShowWindow(Application.Handle,SW_HIDE);
也不能从任务栏隐藏,
但是在TForm中加一个TButton,在TButton的OnClick事件中调用
ShowWindow(Application.Handle,SW_HIDE);
可以从任务栏隐藏
在TForm的Create方法中可得知此时TApplication是inVisible的
也就是说在Application.Run之前调用
ShowWindow(Application.Handle,SW_HIDE);
都不能将程序没有从任务栏隐藏,
那我的这个VCL在什么时候调用
ShowWindow(Application.Handle,SW_HIDE);
才合适呢?
...全文
22 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
stanely 2002-10-22
onactive
回复
Bluce4587 2002-10-21
注意WIndows窗口的创建历程:
OnCreate
OnShow
OnActive
OnResize
OnPaint
所以,不能在Create方法中使用它! 而要在Create方法调用完成之后!
回复
编程小战 2002-10-21
捕获TApplication的WM_ACTIVATEAPP事件就可成功!
还有我捕获WM_SHOWWINDOW后调用却没有成功!
因为我写的是VCL,要控制整个程序在任务栏的显示,就不能直接用OnShow,要是它把这个组件扔在非MainForm里怎么办,只有用捉TApplication的消息了。
TApplication是没有OnShow的,因为它是一个隐藏的窗口。
回复
应该加在onShow这里。

祝:身体健康!!
回复
编程小战 2002-10-17
OnShow在TAppliation里没有
回复
hety 2002-10-17
加在onShow里面试试
回复
发动态
发帖子
Delphi
创建于2007-08-02

4802

社区成员

Delphi 开发及应用
申请成为版主
社区公告
暂无公告