zip's

while(true) { Write it down; Think about it; Refine it; Sleep(); }

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在MFC GUI程序弹出WPF窗口,可能有这样一个问题,WPF窗口在任务栏上有一个图标,某些操作(如打开文件对话框)后,WPF窗口被隐藏到了MFC主窗口后面,这时候用户体验就与CDialog有明显不同了。为保持一致,解决这个问题的方法:

在MFC程序中加入WPF窗口,把MFC窗口设置为WPF窗口的父,并且不再taskbar中显示WPF窗口 
void CMainFrame::OnToolWindow()
{
using namespace System;
using namespace System::Windows;
using namespace System::Windows::Interop;

Window
^ wnd = gcnew Window();
WindowInteropHelper
^ wndHelper = gcnew WindowInteropHelper(wnd);
wndHelper
->Owner = IntPtr(this->GetSafeHwnd());
wnd
->ShowInTaskbar = false;
wnd
->ShowDialog();
}

 

posted on 2010-10-22 13:34  zip's  阅读(1135)  评论(0编辑  收藏  举报