Exemple #1
0
plExportDlgImp::~plExportDlgImp()
{
    plFileName path = plMaxConfig::GetPluginIni();
    WritePrivateProfileIntW(L"Export", L"X", fXPos, path.AsString().ToWchar());
    WritePrivateProfileIntW(L"Export", L"Y", fYPos, path.AsString().ToWchar());

    WritePrivateProfileStringW(L"Export", L"Dir", fExportSourceDir.AsString().ToWchar(),
                               path.AsString().ToWchar());
}
void DXContext::WriteSafeWindowPos()
{
	if (m_current_mode.screenmode == WINDOWED)
	{
		WritePrivateProfileIntW(64,     L"nMainWndTop",    m_szIniFile, L"settings");
		WritePrivateProfileIntW(64,     L"nMainWndLeft",   m_szIniFile, L"settings");
		WritePrivateProfileIntW(64+256, L"nMainWndRight",  m_szIniFile, L"settings");
		WritePrivateProfileIntW(64+256, L"nMainWndBottom", m_szIniFile, L"settings");
		WritePrivateProfileIntW(64,     L"avs_wx",m_szIniFile,L"settings");
		WritePrivateProfileIntW(64,     L"avs_wy",m_szIniFile,L"settings");
		WritePrivateProfileIntW(256, L"avs_ww",m_szIniFile,L"settings");
		WritePrivateProfileIntW(256, L"avs_wh",m_szIniFile,L"settings");
	}
}
void DXContext::SaveWindow()
{
	if (m_current_mode.screenmode == WINDOWED)
	{
		RECT c;
		GetClientRect(m_hwnd, &c);

		// convert client rect from client coords to screen coords:
		// (window rect is already in screen coords...)
		POINT p;
		p.x = c.left;
		p.y = c.top;
		if (ClientToScreen(m_hwnd, &p))
		{
			c.left += p.x;
			c.right += p.x;
			c.top += p.y;
			c.bottom += p.y;
		}

		// save bounds for window CLIENT area, but in screen coords
		WritePrivateProfileIntW(c.top,   L"nMainWndTop",    m_szIniFile, L"settings");
		WritePrivateProfileIntW(c.left,  L"nMainWndLeft",   m_szIniFile, L"settings");
		WritePrivateProfileIntW(c.right, L"nMainWndRight",  m_szIniFile, L"settings");
		WritePrivateProfileIntW(c.bottom,L"nMainWndBottom", m_szIniFile, L"settings");

		// also save bounds for embedwnd
		if (m_current_mode.m_skin && myWindowState.me)
		{
			WritePrivateProfileIntW(myWindowState.r.left,L"avs_wx",m_szIniFile,L"settings");
			WritePrivateProfileIntW(myWindowState.r.top ,L"avs_wy",m_szIniFile,L"settings");
			WritePrivateProfileIntW(myWindowState.r.right-myWindowState.r.left,L"avs_ww",m_szIniFile,L"settings");
			WritePrivateProfileIntW(myWindowState.r.bottom-myWindowState.r.top,L"avs_wh",m_szIniFile,L"settings");
		}
		else if (!m_current_mode.m_skin && m_hwnd)
		{
			RECT r;
			GetWindowRect(m_hwnd, &r);
			WritePrivateProfileIntW(r.left,L"avs_wx",m_szIniFile,L"settings");
			WritePrivateProfileIntW(r.top ,L"avs_wy",m_szIniFile,L"settings");
			WritePrivateProfileIntW(r.right-r.left,L"avs_ww",m_szIniFile,L"settings");
			WritePrivateProfileIntW(r.bottom-r.top,L"avs_wh",m_szIniFile,L"settings");
		}
	}
}