Шаг 207 - CWnd::CreateGrayCaret

void CreateGrayCaret( int nWidth, int nHeight );

Параметры
nWidth
Определяет ширину символа каретки (в логических модулях). Если этот параметр - 0, ширина установлена к определенной системой ширине границы окна.
nHeight
Определяет высоту символа каретки (в логических модулях). Если этот параметр - 0, высота установлена к определенной системой высоте границы окна.

Замечания
Создает серый прямоугольник для символа каретки системы и требует монопольного использования на символ каретки. Форма символа каретки может быть строка или блок.
Параметры nWidth и nHeight определяют ширину символа каретки и высоту (в логических модулях). Точная ширина и высота (в пикселях) зависит от режима с отображения.
Ширина границы окна системы или высота может быть получена функцией GetSystemMetrics Windows с параметрами SM_CYBORDER и SM_CXBORDER. Использование ширины границы окна или высоты гарантирует, что символ каретки будет видим на дисплее с высоким разрешением.
CreateGrayCaret функция членства автоматически уничтожает предыдущую форму символа каретки независимо от окна который обладает символом каретки. При создании символ картки первоначально скрыт. Чтобы показывать символ каретки нужно вызвать функцию ShowCaret.
Символ каретки системы - общедоступный ресурс. CWnd должен создать символ каретки только когда он имеет ввод или активен. Он должен уничтожить символ каретки прежде чем окно теряет ввод или становится неактивным.

Пример

//Создайте 5x10 серый символ каретки в элементе редактирования.
void CMyDlg::OnChangeCaret() 
{
	m_editCtrl.CreateGrayCaret(5, 10);
	m_editCtrl.ShowCaret();
}

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.