子窗口如何最小化到任务栏

ccx8301 2009-08-26 05:20:50
我用的是MFC的DLL,调出子窗口后,想最小化到任务栏上,再点击任务栏上的图标恢复。虽然网上讨论很多,本人是初学者还请指教,如能给出个完整小例子(ccx8301@163.com)感激不尽,谢谢!
...全文
289 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
似水流年__ 2010-01-14
  • 打赏
  • 举报
回复
另外再补充一点有些时候PreCreateWindow就不会执行的
就是想方设法把EX_Style中有ws_ex_appwindow就可以了
void CXXDlg::PreInitDialog()
{
// TODO: 在此添加专用代码和/或调用基类
ASSERT(m_hWnd!=NULL);
LONG dwStyle = GetWindowLong(GetSafeHwnd(),GWL_EXSTYLE);
dwStyle |= WS_EX_APPWINDOW;
SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,dwStyle);
CDialog::PreInitDialog();
}
似水流年__ 2010-01-14
  • 打赏
  • 举报
回复
哎,你们别忽悠人了
是扩展样式
cs.dwExStyle |= WS_EX_APPWINDOW;

csdn上有很多*的人好多人,就是百度谷歌下就回复别人

自己根本都不知道正确性

哎,悲剧啊
ccx8301 2009-08-26
  • 打赏
  • 举报
回复
“WS_APPWINDOW” : 未声明的标识符
怎么情况?
ccx8301 2009-08-26
  • 打赏
  • 举报
回复
不好意思我机子反应慢,没刷新过来
ccx8301 2009-08-26
  • 打赏
  • 举报
回复
我是如下生成无模式子窗口的:
status=dlg.Create(IDD_DIALOG_FIX);
if(status==0)
{
AfxMessageBox("Fail!");
}
dlg.ShowWindow(SW_SHOW);
怎么加?
要重写PreCreateWindow()吗?
雪影 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ccx8301 的回复:]
引用 4 楼 lin 的回复:
子窗口具有WS_APPWINDOW风格即可

谢谢!是要重写PreWindowCreate()吗?如何设置呢?
[/Quote]
对,重载PreWindowCreate函数
BOOL CXXView::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style |= WS_APPWINDOW;

return TRUE;
}
feilinhe 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ccx8301 的回复:]
引用 4 楼 lin 的回复:
子窗口具有WS_APPWINDOW风格即可

谢谢!是要重写PreWindowCreate()吗?如何设置呢?
[/Quote]
是,添加这个虚函数就可以了
ccx8301 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lin 的回复:]
子窗口具有WS_APPWINDOW风格即可
[/Quote]
谢谢!是要重写PreWindowCreate()吗?如何设置呢?
Lin 2009-08-26
  • 打赏
  • 举报
回复
子窗口具有WS_APPWINDOW风格即可
fishion 2009-08-26
  • 打赏
  • 举报
回复
http://www.vckbase.com/document/viewdoc/?id=677
DavidHsing 2009-08-26
  • 打赏
  • 举报
回复
任务栏还是系统栏?
  • 打赏
  • 举报
回复
可以 ::Sendmessage() 啊

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧