BOOL KscToolVector::SwitchTool(int nIndex)
{
	BOOL retval = FALSE;
	int i;

	if (nIndex > ARRAYSIZE(m_hTools) - 1)
		goto clean0;

    if (!m_hTools[nIndex].hWnd && m_hTools[nIndex].pShowDlg)
	{
		m_hTools[nIndex].hWnd = m_hTools[nIndex].pShowDlg(m_hWnd);
		if (!m_hTools[nIndex].hWnd)
			goto clean0;

		UpdateToolSize(m_hTools[nIndex].hWnd);
	}

	for (i = 0; i < ARRAYSIZE(m_hTools); ++i)
	{
		if (m_hTools[i].hWnd)
		{
			::ShowWindow(m_hTools[i].hWnd, SW_HIDE);
		}
	}

    if (m_hTools[nIndex].hWnd)
    {
        ::ShowWindow(m_hTools[nIndex].hWnd, SW_SHOW);
        ShowWindow(SW_SHOW);
    }
    else
    {
        ShowWindow(SW_HIDE);
    }

	retval = TRUE;

clean0:
	return retval;
}
Exemple #2
0
void CKscMainDlg::OnSize(UINT nType, CSize size)
{
	UpdateToolSize();
}