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

не работают полосы прокрутки.
  #2046  
Старый 20.12.2008, 19:49
NetSter
студент
Регистрация: 30.07.2007
Сообщений: 800
С нами: 9885926

Репутация: 1188


Question не работают полосы прокрутки.

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

класс окна для вывода в него содержимого файла:
Код:
class COpenWnd:public CFrameWnd
{
public:
	COpenWnd(CWnd *wnd);
};
COpenWnd::COpenWnd(CWnd *wndPerent)
{
CRect rectWnd(25,25,700,500);
Create(NULL, "Opened file", WS_OVERLAPPEDWINDOW | WS_HSCROLL |WS_VSCROLL , 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); 
		}
	}
  }

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