Показать сообщение отдельно

  #1899  
Старый 22.11.2008, 18:24
NetSter
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме:
4275992

Репутация: 1188


Question

доброго времени суток.
нужно накодить функцию открытия и просмотра содержимого текстового файла (в отдельном окне.)
вот что уже накодил:

класс ОПЕН
Код:
class COpenWnd:public CFrameWnd
{
public:
	COpenWnd(CWnd *wnd);
};
COpenWnd::COpenWnd(CWnd *wndPerent)
{
CRect rectWnd(25,25,700,500);
Create(NULL, "Opened file", WS_OVERLAPPEDWINDOW, rectWnd, wndPerent, NULL);
}
и собственно функция ОПЕН

Код:
void CMyFrameWin::OnOpen()
  {
			 
	  CString m_Text, path;
	CFileDialog dlgOpen(TRUE, "txt","", 
	OFN_HIDEREADONLY, "BLOKNOT (*.txt)| *.txt| VISUAL C++ (*.cpp)| *.cpp| ALL Files(*.*)|*.*|", this);

	if(dlgOpen.DoModal()==IDOK)
	{
		CStdioFile File(dlgOpen.GetPathName(), CFile::modeRead| CFile::typeBinary);
		CString & ref=m_Text;
		path=dlgOpen.GetPathName();
		COpenWnd *OpenWnd=new COpenWnd(this);
		OpenWnd -> ShowWindow(SW_SHOWNORMAL);
		OpenWnd -> UpdateWindow();
		CClientDC dc(OpenWnd);
		int y=30;
CFont l_font; 
l_font.CreatePointFont(150,"Lucida Console"); 
CFont* l_old_font = dc.SelectObject(&l_font);
		dc.TextOut(10,10,path);
dc.SelectObject(l_old_font);

		while (File.ReadString(ref)!=NULL)
		{
CFont l_font; 
l_font.CreatePointFont(150,"Lucida Console"); 
CFont* l_old_font = dc.SelectObject(&l_font);
    
		dc.SetTextColor(RGB(y*10,y+19,y+50));
		dc.TextOut(30,y,m_Text, strlen(m_Text)-1);
		y=y+45;
		dc.SelectObject(l_old_font); 
		}
	}
  }
проблемка: при открытии больших файлов большая часть текста не попадает в это окно)))
помогите привинтить к этому окну полосы прокрутки чтоб весь текст файла можно было просмотреть.
по ходу чудить нужно в классе ОПЕН но ц мну ниччего не получилось. кто что подскажет?
Большое спасибо.
 
Ответить с цитированием