Шаг 206 - CWnd::CreateSolidCaret

void CreateSolidCaret( int nWidth, int nHeight );

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

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

Пример

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

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