另一种方法实现弹出自身实例的子窗体
2009-06-17 14:21
387 查看
CString CFindWindowExDlg::CreateNewTitle()
{
// 拿这个当唯一标示,在全球都找不到重样的,哈哈
OLECHAR olechar[255];
CString str;
GUID guid;
CoCreateGuid(&guid);
StringFromGUID2(guid, olechar, 255);
str = olechar;
return str;
}
void CFindWindowExDlg::OnBnClickedButton1()
{
static bool bFirst = FALSE;
static CString strDlgTitle;
if (!bFirst)
{
bFirst = TRUE;
strDlgTitle = CreateNewTitle();
Cat *dlg = new Cat;
dlg->Create(IDD_DIALOG1, CWnd::GetDesktopWindow());
dlg->SetWindowText(strDlgTitle);
dlg->ShowWindow(SW_SHOW);
}
else
{
HWND hWnd = ::FindWindowEx(NULL, NULL, NULL, strDlgTitle);
if(hWnd != NULL)
{
::ShowWindow(hWnd, SW_SHOWNORMAL);
::SetForegroundWindow(hWnd);
return ;
}
else
{
return ;
}
}
}
void CFindWindowExDlg::OnBnClickedButton2()
{
static bool bFirst = FALSE;
static CString strDlgTitle;
if (!bFirst)
{
bFirst = TRUE;
strDlgTitle = CreateNewTitle();
Cat *dlg = new Cat;
dlg->Create(IDD_DIALOG1, CWnd::GetDesktopWindow());
dlg->SetWindowText(strDlgTitle);
dlg->ShowWindow(SW_SHOW);
}
else
{
HWND hWnd = ::FindWindowEx(NULL, NULL, NULL, strDlgTitle);
if(hWnd != NULL)
{
::ShowWindow(hWnd, SW_SHOWNORMAL);
::SetForegroundWindow(hWnd);
return ;
}
else
{
return ;
}
}
}
{
// 拿这个当唯一标示,在全球都找不到重样的,哈哈
OLECHAR olechar[255];
CString str;
GUID guid;
CoCreateGuid(&guid);
StringFromGUID2(guid, olechar, 255);
str = olechar;
return str;
}
void CFindWindowExDlg::OnBnClickedButton1()
{
static bool bFirst = FALSE;
static CString strDlgTitle;
if (!bFirst)
{
bFirst = TRUE;
strDlgTitle = CreateNewTitle();
Cat *dlg = new Cat;
dlg->Create(IDD_DIALOG1, CWnd::GetDesktopWindow());
dlg->SetWindowText(strDlgTitle);
dlg->ShowWindow(SW_SHOW);
}
else
{
HWND hWnd = ::FindWindowEx(NULL, NULL, NULL, strDlgTitle);
if(hWnd != NULL)
{
::ShowWindow(hWnd, SW_SHOWNORMAL);
::SetForegroundWindow(hWnd);
return ;
}
else
{
return ;
}
}
}
void CFindWindowExDlg::OnBnClickedButton2()
{
static bool bFirst = FALSE;
static CString strDlgTitle;
if (!bFirst)
{
bFirst = TRUE;
strDlgTitle = CreateNewTitle();
Cat *dlg = new Cat;
dlg->Create(IDD_DIALOG1, CWnd::GetDesktopWindow());
dlg->SetWindowText(strDlgTitle);
dlg->ShowWindow(SW_SHOW);
}
else
{
HWND hWnd = ::FindWindowEx(NULL, NULL, NULL, strDlgTitle);
if(hWnd != NULL)
{
::ShowWindow(hWnd, SW_SHOWNORMAL);
::SetForegroundWindow(hWnd);
return ;
}
else
{
return ;
}
}
}
相关文章推荐
- 弹出模态框modal的实现方法及实例
- 实现弹出自身实例的子窗体
- JavaScript常用的弹出广告及背投广告实现方法
- ASP.NET中的几种弹出框提示基本实现方法
- 实现对gridview删除行时弹出确认对话框的四种方法
- 分享php中四种webservice实现的简单架构方法及实例
- asp.net类似于QQ表情弹出框功能的实现方法
- 通过jsonObject toBean方法,实现对象的实例化
- Android实现底部对话框BottomDialog弹出实例代码
- Android基础入门教程——5.2.1 Fragment实例精讲——底部导航栏的实现(方法1)
- c#中实现当一个类实例的属性值改变时,触发事件调用另一个方法
- 三种方法实现弹出框边框半透明和圆角的效果
- Android基础入门教程——5.2.2 Fragment实例精讲——底部导航栏的实现(方法2)
- Java3D实例之创建空间几何模型的实现方法
- iOS的动态创建实例方法和实现消息转发
- activity全屏实现沉浸式效果,并且单独触摸不会弹出虚拟按键的方法
- 我的Android进阶之旅------>Android用PopupWindow实现弹出菜单实例
- 单例模式的另一种实现方法
- javascript 面向对象编程方法的实现与实例