// aplFrameWnd.cpp : implementation file
//

#include "stdafx.h"
#include "apl_gui.h"

// CaplFrameWnd

IMPLEMENT_DYNCREATE(CaplFrameWnd, CFrameWnd)

CaplFrameWnd::CaplFrameWnd()
{

}

CaplFrameWnd::~CaplFrameWnd()
{
}


BEGIN_MESSAGE_MAP(CaplFrameWnd, CFrameWnd)
	ON_MESSAGE(WM_SETMESSAGESTRING, &CaplFrameWnd::OnSetMessageString)
END_MESSAGE_MAP()


// CaplFrameWnd message handlers
LRESULT CaplFrameWnd::OnSetMessageString(WPARAM wParam, LPARAM lParam)
{
	if (CaplTranslate::IsNeedTranslate())
	{
		CString sText;

		if (wParam>0)
		{
			// это id строки из ресурсов
			sText.LoadString((UINT)wParam);
		}
		else
		{
			// это строка
			sText = (LPCTSTR)lParam;
		}

		sText = CaplTranslate::Translate(sText);

		// если есть в строке разделитель \n, то правая часть - это строка для тултипа,
		// а мы берем левую часть - как раз наша строка состояния
		int iSep = sText.Find(_T('\n'));
		// обрезаем строку слева
		if (iSep>-1)
			sText = sText.Left(iSep);

		return __super::OnSetMessageString(NULL, (LPARAM)(LPCTSTR)sText);
	}

	return __super::OnSetMessageString(wParam, lParam);
}