回 帖 发 新 帖 刷新版面

主题:被一个问题困惑了整个星期,希望各位高手帮帮忙~!

首先,使用TrayIcon做了个软件的任务栏小图标

然后,做一个不规则窗体,BorderStyle设为了bsNone.

做到这里就出现了个问题,软件没有了一般窗口右上角的最小化按钮,想着自己做一个按钮代替它,可是无论我把该按钮的功能写成Form_main->windowstate=wsMinimized也好,用api函数写成ShowWindow(Application->Handle,SW_HIDE)也好,软件就是只会最小化到任务栏横条上不消失,不会干脆地像原来的最小化按钮一样,一点就把程序缩在任务栏的右下角只剩个小图标.

请问这样的情况怎么解决啊??

回复列表 (共2个回复)

沙发

设计窗体时,让默认不在任务栏显示。

然后,初始化时,调用
long lStyle=GetWindowLong(窗体句柄,GWL_STYLE);
    /*注意:这个lStyle值以后就不要再变动了。当然,也可定义为常量。*/

要显示时,调用
SetWindowLong(窗体句柄,lStyle | WS_SYSMENU);
要隐藏横条时,调用
SetWindowLong(窗体句柄,lStyle);

板凳

哦,是这样子~!

好的,非常感谢楼上那位兄台![em2][em2]

我来回复

您尚未登录,请登录后再回复。点此登录或注册