Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

BOOL CGenApp::InitInstance()




{

CWinApp::InitInstance();

EnableTaskbarInteraction(FALSE);

// Для использования элемента управления RichEdit2 требуется метод

// AfxInitRichEdit2()

AfxInitRichEdit2();

//...

 

Если этого не сделать, то воспользоваться элементом управления RichEdit2 не получится.

 

Далее разместите на форме два элемента управления RichEdit2 примерно так, как показано на рис. 4.

 
 

Рис. 4. Элементы RichEdit2 на форме

 

Вызовите для «левого» элемента RichEdit2 контекстное меню и выполните в нем команду Add Variable. Задайте имя m_Rich1 (рис. 5) и убедитесь в том, значения остальных полей соответствуют указанным на рис. 5.

 

 

 
 

Рис. 5. Окно задания имени связанной переменной

 

Аналогичным образом задайте имя и для другого элемента – m_Rich2. Вы уже скумекали, что m_Rich1 и m_Rich2 представляют собой имена объектов класса CRichEditCtrl и мы будем их использовать для работы с элементами RichEdit2. Описания этих имен вы должны выявить в заголовочном файле класса вида – проверьте! Запустите приложение на выполнение, попробуйте изменять размеры окна для того, чтобы посмотреть, влияет ли это на размеры и положение элементов RichEdit2.

Задать требуемые значения свойств элементов RichEdit2 можно с помощью окна свойств, а можно задать их в обработчике события WM_CREATE (не в конструкторе!). Для этого создайте обработчик этого события и наполните его таким кодом:

Единственное свойство, значение которого надо установить в окне свойств элемента – это Visible. Задайте ему значение false для обоих элементов.

 

А вот для того, чтобы заставить элементы RichEdit2 занимать всю клиентскую часть окна независимо от его размеров, надо создать обработчик события WM_SIZE класса вида и наполнить его таким кодом:

 

 

Запустите приложение на выполнение и воочию убедитесь в том, что при изменении размеров окна элементы RichEdit2 также масштабируются. Обратите также внимание на то, что в элементы можно вводить текст, хотя это нам и не нужно (рис. 6).

 
 

Рис. 6. Окно с элементами RichEdit2

 

Шаг 6. Вывод содержимого файлов в элементы RichEdit2. Вывод текста в RichEdit2 выглядит достаточно просто, например:

m_Rich1.SetWindowText(_T("Это первая строка"));

 

Ожидаемо в элементе мы увидим приведенную строку текста. Однако, если мы выполним два оператора

m_Rich1.SetWindowText(_T("Это первая строка"));

m_Rich1.SetWindowText(_T("А это вторая строка"));

 

то увидим в элементе только вторую строку. Если нам очень хочется отобразить в RichEdit2 несколько строк текста, то надо все эти строки поместить в один объект CString и передать его в качестве фактического параметра функции SetWindowText(), позаботившись при этом о добавлении в строку признака конца строки ‘\n’. Пример:

CString Test;

Test=_T("Это первая строка");

Test+='\n';

Test+=_T("А это вторая строка");

Test+='\n'; // при необходимости

m_Rich1.SetWindowText(Test);

 

В этом случае мы действительно увидим в RichEdit2 две строки текста. Учитывая эту ценную информацию, доработайте функции чтения файлов или, еще лучше, напишите отдельные функции для вывода содержимого прочитанных файлов в RichEdit2. Если вы все это проделаете, то будете вознаграждены видом своего приложения, подобным рис. 7.

 

 
 

Рис. 7. Окно с элементами RichEdit2 и текстами файлов

 

У вас может возникнуть вполне законный вопрос: а зачем нам нужно отображать содержимое файлов в элементах RichEdit2? Ответ может быть таким.

Во-первых, элемент RichEdit2 очень полезен при необходимости отображения текста любого объема в приложении.

Во-вторых, этот элемент имеет массу возможностей как по настройке его свойств (выбор шрифтов, размеров и начертаний символов, цветов, стилей и т.д. и т.п.), так и по редактированию текста пользователем и/или программно. Например, те билеты, которые вы получаете на модулях, генерируются программным образом из текстового документа с тестовыми заданиями, подготовленного в редакторе Word.

В-третьих, если вы снабдите свое приложение функциями, которые будут выводить в эти элементы содержимое массивов строк, в которых содержится содержимое обрабатываемых файлов, то сильно облегчите свою работу по отладке приложения, так как сможете в любой момент времени отображать ход обработки данных.

 

На этом заканчивается первая часть работы и вы можете ее сдать преподавателю, если хотите получить хорошие баллы.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...