Visual C++. Описание стандартных классов
Страница 12.


 
ReplaceSel
void ReplaceSel(LPCTSTR lpszNewText, BOOL bCanUndo = FALSE);
Аргументы
"sectiontableheader"lpszNewText - указатель на заканчивающуюся нулем строку, содержащую новый текст.
"sectiontableheader"bCanUndo - определяет возможность отмены операции. По умолчанию операция не может быть отменена.
Описание
Данная функция заменяет выделенный фрагмент в текстовом поле строкой, на которую указывает аргумент lpszNewText. При возникновении необходимости замены всего текста в текстовом поле используйте функцию CWnd::SetWindowText. Если в текстовом поле отсутствует выделение, текст вставляется в текущую позицию текстового курсора.
SetSel
void SetSel(DWORD dwSelection, BOOL bNoScroll = FALSE); void SetSel(int nStartChar, int nEndChar, BOOL bNoScrol = FALSE);
Аргументы
"sectiontableheader"dwSelection - в младшем слове содержит начальную позицию выделения, а в старшем слове - конечную позицию выделения. Если младшее слово содержит нулевое значений, а старшее слово - значение -1, выделяется весь текст в текстовом поле. Если младшее слово содержит значение -1, удаляется любое текущее выделение.
"sectiontableheader"bNoScroll - определяет необходимость прокрутки области вывода, чтобы показать текстовый курсор. Если данный аргумент имеет значение FALSE, прокрутка осуществляется, если же он имеет значение TRUE - прокрутка отсутствует.
"sectiontableheader"nStartChar - определяет начальную позицию выделения. Если данный аргумент имеет значение 0, а аргумент nEndChar имеет значение -1, то выделяется весь текст в текстовом поле. Если данный аргумент имеет значение -1, удаляется любое текущее выделение.
"sectiontableheader"nEndChar - определяет конечную позицию выделения.
Описание
Данная функция используется для выделения текстового фрагмента в текстовом поле.
CEditView
Объект класса CEditView, подобно объекту класса CEdit, обеспечивает функционирование элемента управления текстового поля Windows, и позволяет создать простейший текстовый редактор. Класс CEditView позволяет использовать следующие дополнительные возможности:
"sectiontableheader"печать документа;
"sectiontableheader"поиск и замена.
Поскольку класс CEditView является производным от класса CView, объекты данного класса могут работать с документами и использоваться в шаблонах документов. Для текста, содержащегося в данном объекте элемента управления выделяется собственная область глобальной памяти. Количество данных объектов не ограничено. Использование объектов класса CEditView позволяет создавать простейшие оконные редакторы, имеющие перечисленные выше свойства. Объект класса CEditView может занимать всю рабочую область окна. Чтобы дополнить данный редактор пользовательскими свойствами, необходимо создать пользовательский класс, производный от класса CEditView и добавить в него соответствующие функции. По умолчанию класс CEditView обрабатывает следующие сообщения: ID_EDIT_SELECT_ALL, ID_EDIT_FIND, ID_EDIT_REPLACE, ID_EDIT_REPEAT и ID_FILE_PRINT. На объекты класса CEditView (или на объекты классов, производных от класса CEditView) накладываются следующие ограничения:
"sectiontableheader"объект класса CEditView не обладает свойствами WYSIWYG (что видишь, то и получишь). В тех случаях, когда требования соответствия изображения на экране печатаемой копии приводят к снижению качества изображения на экране, объект класса CEditView старается повысить качество изображения на экране за счет потери соответствия с печатаемой копией;
"sectiontableheader"объект класса CEditView использует только один шрифт для вывода всей информации. При этом не предусматривается никакого специального форматирования текста. Эти возможности реализованы в классе CrichEditView;
"sectiontableheader"объем текста, выводимого объектом класса CEditView ограничено. Эти ограничения совпадают с ограничениями, наложенными на объект класса CEdit.
Описание данного класса содержится в файле заголовка afxext.h.
FindText
BOOL FindText(LPCTSTR lpszFind, BOOL bNext = TRUE, BOOL bCase = TRUE);
Возвращаемое значение
Ненулевое, если найден искомый текст, и нулевое в противном случае.
Аргументы
"sectiontableheader"lpszFind - указатель на текстовую строку, содержащую искомый текст.
"sectiontableheader"bNext - определяет направление поиска. Если данный аргумент имеет значение TRUE, то поиск производится по направлению к концу буфера. В противном случае поиск производится по направлению к началу буфера.
"sectiontableheader"bCase - определяет необходимость учета при сравнении регистра символов. Если данный аргумент имеет значение TRUE, то при поиске учитывается регистр символов. В противном случае регистр символов не учитывается.
Описание
Функция FindText производит поиск указанного текста в текстовом буфере объекта класса CEditView. Поиск текста, содержащегося в аргументе lpszFind, производится начиная с текущей позиции текстового курсора в направлении, определяемом аргументом bNext. Если аргумент bCase имеет значение TRUE, то поиск производится с учетом регистра символов. Если текст найден, то он выделяется и функция возвращает ненулевую величину. В противном случае возвращается нулевая величина.
GetBufferLength
UINT GetBufferLength() const;
Возвращаемое значение
Длина строки в буфере.
Описание
Данная функция позволяет получить количество символов, содержащихся в настоящее время в буфере текстового поля, исключая завершающий нулевой символ.
GetEditCtrl
CEdit& GetEditCtrl() const;
Возвращаемое значение
Ссылка на объект класса CEdit.
Описание
Функция GetEditCtrl позволяет получить ссылку на объект класса текстового поля, используемый в данном объекте класса представления. Поскольку возвращается ссылка на объект класса CEdit, то возвращаемая величина позволяет получить доступ к данному элементу управления путем вызова функций данного класса. Использование объекта класса CEdit может изменить состояние связанного с ним элемента управления Windows. Например, при использовании для установки позиций табуляции функции CEdit::SetTabStops приведет к изменению позиций табуляции как в самом элементе управления, так и к изменению позиций табуляции при его распечатке. Чтобы изменить позиции табуляции только в самом элементе управления следует использовать функцию CEditView::SetTabStops.
OnFindNext
virtual void OnFindNext(LPCTSRT lpszFind, BOOL bNext, BOOL bCase);
Аргументы
"sectiontableheader"lpszFind - указатель на текстовую строку, содержащую искомый текст.
"sectiontableheader"bNext - определяет направление поиска. Если данный аргумент имеет значение TRUE, то поиск производится по направлению к концу буфера. В противном случае поиск производится по направлению к началу буфера.
"sectiontableheader"bCase - определяет необходимость учета при сравнении регистра символов. Если данный аргумент имеет значение TRUE, то при поиске учитывается регистр символов. В противном случае регистр символов не учитывается.
Описание
Функция OnFindNext производит поиск указанного текста в текстовом буфере объекта класса CEditView. Поиск текста, содержащегося в аргументе lpszFind, производится начиная с текущей позиции текстового курсора в направлении, определяемом аргументом bNext. Если аргумент bCase имеет значение TRUE, то поиск производится с учетом регистра символов. Для поиска строки данная функция вызывает функцию FindText, передавая ей все свои аргументы. По умолчанию если искомый текст не найден, функция OnFindNext вызывает функцию OnTextNotFound.
CEvent
Объект класса CEvent представляет собой объект синхронизации, позволяющий одному потоку послать сообщение другому потоку о наступлении некоторого события. Например, о завершении работы потока или о необходимости получить или передать очередную порцию информации.
Различают два вида объектов класса CEvent: одни из них устанавливаются и сбрасываются вручную, а другие - автоматически. Для ручной установки объекта события используется функция SetEvent, а для ручного сброса - функция ResetEvent. Автоматические объекты данного класса сбрасываются в том случае, если будет освобожден по крайней мере один поток.
При создании объекта события для него может быть задано имя и поток, которому он принадлежит. После создания данного объекта он отмечается функцией SetEvent. После завершения работы с ресурсом его необходимо освободить вызовом функции Unlock.
Другим способом работы с объектом события является создание члена класса, имеющего тип CEvent. При создании объекта контролируемого класса для этой переменной вызывается конструктор класса CEvent, определяющий тип создаваемого объекта, его исходное состояние, имя (если этот объект события будет использоваться в других процессах) и требуемые атрибуты безопасности.
Для получения доступа к объекту, контролируемому переменной типа CEvent, необходимо сначала создать объект класса CSingleLock или CMultiLock. Вызов функции Lock данного объекта обеспечит монопольный доступ к контролируемому ресурсу. Если ресурс в данное время занят, данная функция будет ждать его освобождения в течение указанного промежутка времени. Если ресурс не освободится в течение периода ожидания, данная функция возвратит соответствующее значение. После завершения работы с ресурсом его необходимо освободить вызовом функции Unlock.
Описание данного класса содержится в файле заголовка afxmt.h.
 
« Предыдущая статья   Следующая статья »