BOOL CMorePara::OnInitDialog() { CDialog::OnInitDialog(); //不在系统当前运行的程序栏内显示 ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } 试下,应该没有更窗口样式
to: Saimen谢谢你的回答! 我一楼的说明中就提到这种方法不是我想要的,在Windows XP下面,WS_EX_TOOLWINDOW会使titlebar以及上面的关闭按钮变小。
把主窗口隐藏了,但它在隐藏前打开了一个非模态的对话框,而此对话框在任务栏不显示图标的,只须把它做的像个平常的窗口就行了。不明白的是试了几个对话框,有些也像主窗口一样在任务栏显示而有些没有。
其实一般的窗口可以用那个SetParant(FindWindow("Progman",NULL);来实现,但是这样会导致另外一个问题,就是窗口没法实现总在最上的功能!~
这篇文章里面写的三种方案中,后面两种理论上是符合要求的,但是我把代码加进去以后就出现问题了。
第三中方案的问题是,当程序中调用到一些系统函数的时候(还不清楚究竟是什么函数),任务栏上的按钮会重新出现。我现在想对第三种方案做一下修正,但是不知道如何下手。大侠们帮我看看,我好结帐啊,100分送出去总要有点理由。
{
CDialog::OnInitDialog();
//不在系统当前运行的程序栏内显示
ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
试下,应该没有更窗口样式
我一楼的说明中就提到这种方法不是我想要的,在Windows XP下面,WS_EX_TOOLWINDOW会使titlebar以及上面的关闭按钮变小。