[C++ MFC] Zmieścić długi tekst w CEdit

0

Mam problem, chcę przyciąć tekst który zawiera ściężkę dostępu do pliku (np.: c:\kat1\kat2\kat3\namefile.ext) tak by zmieścił się w okienku (przycisku CEdit) krótszym od ww tekstu.
I nie chodzi tu by wydłużyć okienko, czy zastosować multilinie w properties (właściwościach okienka) - zawsze może znależć się dłuższy tekst. Więc robię tak:

void CFiles::OnPaint()  
{
	CPaintDC dc(this); // device context for painting
	
CRect MRect;
CSize MSize;

CString sNapis;

	sNapis="c:\\kat1\\kat2\\kat3\\namefile.ext";

	m_cEDIT_CUSTOM.GetRect(MRect);  //m_cEDIT_CUSTOM = member variable do CEdit 
	MSize= dc.GetTextExtent(sNapis);

	if (MRect.Width()<=MSize.cx)
	{
		while (MRect.Width()<=MSize.cx) 
		{
			sNapis.Delete(2); //ucinam po "C:\" jeden znak do aż się zmieści w CEdit
			MSize= dc.GetTextExtent(sNapis); 
		}
		sNapis.Insert(2,"..."); //oraz wstawiam "..." by wyszło np: c:\...at3\namefile.ext
	}
	m_cEDIT_CUSTOM.SetWindowText(sNapis); 
}

No ale ucina się zadużo - powstaje jeszcze trochę wolnego miejsca w okienku CEdit.
Jak to poprawić ?

0

ES_AUTOHSCROLL

0

... i wtedy widać znowu tylko fragment, albo początek, albo koniec.

A ja chę widzieć maksymalnie dużo, czyli literkę napędu oraz resztę scieżki od końca.
Np. C:...at5\kat6\kat7\namefile.ext

jak wyeliminować niewykorzystane miejsce po prawej stronie [???] patrz przykład:
user image

1 użytkowników online, w tym zalogowanych: 0, gości: 1