关于动态增加/除了对话框在任务栏中的图标
关于动态增加/去掉对话框在任务栏中的图标
一个默认的对话框在任务栏中是有图标的,而且按tab+alt也可以切换到改窗口。
先说下我的问题,对话框程序,在主窗口显示前需要额外显示一些信息,于是我用了个popup窗口,然后把主窗口move到看不到的地方,等popup窗口显示完了,再调整主窗口位置并让其显示。问题来了,主窗口虽然隐藏了,但是在任务栏里还有图标。于是就看到桌面上只有一个窗口(显示信息的Popup窗口),但是任务栏里有2个图标。
首先想到的方法是,当显示popup窗口时,去掉主窗口的一些属性,让其不在任务栏显示图标,代码如下
但是这样很麻烦,因为当popup显示完后,再次让主窗口show出来时又要恢复,而且这段代码并不是在任何地方调用都能生效的,比如在主对话框一个按钮消息响应函数里调用这段代码来修改自身窗口的扩展属性是没有效果的。
请教下 1:这种情况下怎么处理
2:能否让2个窗口共用一个任务栏图标,因为这2个窗口只有且仅有1个会显示在桌面上。
------解决思路----------------------
你走死胡同了:“然后把主窗口move到看不到的地方” 改为 “把主窗口隐藏起来,信息加载完了再显示出来”就行了,隐藏的窗口任务栏是没有图标的。
------解决思路----------------------
Popup 的对话框窗口可以做到不占用任务栏的。不知道你怎么弄的,居然能再多占用一个。
一个默认的对话框在任务栏中是有图标的,而且按tab+alt也可以切换到改窗口。
先说下我的问题,对话框程序,在主窗口显示前需要额外显示一些信息,于是我用了个popup窗口,然后把主窗口move到看不到的地方,等popup窗口显示完了,再调整主窗口位置并让其显示。问题来了,主窗口虽然隐藏了,但是在任务栏里还有图标。于是就看到桌面上只有一个窗口(显示信息的Popup窗口),但是任务栏里有2个图标。
首先想到的方法是,当显示popup窗口时,去掉主窗口的一些属性,让其不在任务栏显示图标,代码如下
DWORD dwExStyle = GetWindowLong(GetSafeHwnd(),GWL_EXSTYLE);
dwExStyle |= WS_EX_TOOLWINDOW;
dwExStyle &= ~WS_EX_APPWINDOW;
SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,dwExStyle);
但是这样很麻烦,因为当popup显示完后,再次让主窗口show出来时又要恢复,而且这段代码并不是在任何地方调用都能生效的,比如在主对话框一个按钮消息响应函数里调用这段代码来修改自身窗口的扩展属性是没有效果的。
请教下 1:这种情况下怎么处理
2:能否让2个窗口共用一个任务栏图标,因为这2个窗口只有且仅有1个会显示在桌面上。
------解决思路----------------------
你走死胡同了:“然后把主窗口move到看不到的地方” 改为 “把主窗口隐藏起来,信息加载完了再显示出来”就行了,隐藏的窗口任务栏是没有图标的。
------解决思路----------------------
Popup 的对话框窗口可以做到不占用任务栏的。不知道你怎么弄的,居然能再多占用一个。