在窗口的关闭事件(WM_CLOSE)中加入代码:WINDOWPLACEMENT wp;if(GetWindowPlacement(&wp))
{
if (IsZoomed())
wp.flage ¦= WPF_RESTORETOMAXIMIZED; CString strBuffer;
strBuffer.Format("%i:%i:%i:%i:%i:%i:%i:%i:%i:%i",
wp.flags,wp.showCmd,
wp.ptMinPosition.x, wp.ptMinPosition.y,
wp.ptMaxPosition.x, wp.ptMaxPosition.y,
wp.rcNormalPosition.left , wp.rcNormalPosition.top,
wp.rcNormalPosition.right, wp.rcNormalPosition.bottom); AfxGetApp()->WriteProfileString("Settings","WindowPos",strBuffer); //写入注册表
}在InitInstance的最后(return之前)加入代码:CString strBuffer=GetProfileString("Settings","WindowPos"); //从注册表读出数据
WINDOWPLACEMENT wp;if(!strBuffer.IsEmpty())
{
int nRead=_stscanf(strBuffer,"%i:%i:%i:%i:%i:%i:%i:%i:%i:%i",
&wp.flags, &wp.showCmd,
&wp.ptMinPosition.x, &wp.ptMinPosition.y,
&wp.ptMaxPosition.x, &wp.ptMaxPosition.y,
&wp.rcNormalPosition.left , &wp.rcNormalPosition.top,
&wp.rcNormalPosition.right, &wp.rcNormalPosition.bottom); if(cRead==10)
{
m_pMainWnd->SetWindowPlacement(&wp);
}
}程序要运行两次以后才能看到结果,第一次是保存数据,第二次以后就能读出位置显示。
{
if (IsZoomed())
wp.flage ¦= WPF_RESTORETOMAXIMIZED; CString strBuffer;
strBuffer.Format("%i:%i:%i:%i:%i:%i:%i:%i:%i:%i",
wp.flags,wp.showCmd,
wp.ptMinPosition.x, wp.ptMinPosition.y,
wp.ptMaxPosition.x, wp.ptMaxPosition.y,
wp.rcNormalPosition.left , wp.rcNormalPosition.top,
wp.rcNormalPosition.right, wp.rcNormalPosition.bottom); AfxGetApp()->WriteProfileString("Settings","WindowPos",strBuffer); //写入注册表
}在InitInstance的最后(return之前)加入代码:CString strBuffer=GetProfileString("Settings","WindowPos"); //从注册表读出数据
WINDOWPLACEMENT wp;if(!strBuffer.IsEmpty())
{
int nRead=_stscanf(strBuffer,"%i:%i:%i:%i:%i:%i:%i:%i:%i:%i",
&wp.flags, &wp.showCmd,
&wp.ptMinPosition.x, &wp.ptMinPosition.y,
&wp.ptMaxPosition.x, &wp.ptMaxPosition.y,
&wp.rcNormalPosition.left , &wp.rcNormalPosition.top,
&wp.rcNormalPosition.right, &wp.rcNormalPosition.bottom); if(cRead==10)
{
m_pMainWnd->SetWindowPlacement(&wp);
}
}程序要运行两次以后才能看到结果,第一次是保存数据,第二次以后就能读出位置显示。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货