Export (0) Print
Expand All
Expand Minimize

CWnd::CreateGrayCaret

Creates a gray rectangle for the system caret and claims ownership of the caret.

void CreateGrayCaret(
   int nWidth,
   int nHeight 
);

Parameters

nWidth
Specifies the width of the caret (in logical units). If this parameter is 0, the width is set to the system-defined window-border width.
nHeight
Specifies the height of the caret (in logical units). If this parameter is 0, the height is set to the system-defined window-border height.

Remarks

The caret shape can be a line or a block.

The parameters nWidth and nHeight specify the caret's width and height (in logical units); the exact width and height (in pixels) depend on the mapping mode.

The system's window-border width or height can be retrieved by the GetSystemMetrics Windows function with the SM_CXBORDER and SM_CYBORDER indexes. Using the window-border width or height ensures that the caret will be visible on a high-resolution display.

The CreateGrayCaret member function automatically destroys the previous caret shape, if any, regardless of which window owns the caret. Once created, the caret is initially hidden. To show the caret, the ShowCaret member function must be called.

The system caret is a shared resource. CWnd should create a caret only when it has the input focus or is active. It should destroy the caret before it loses the input focus or becomes inactive.

Example

// Create a 5x10 gray caret in the edit control.
void CMyDlg::OnChangeCaret() 
{
   m_editCtrl.CreateGrayCaret(5, 10);
   m_editCtrl.ShowCaret();
}

See Also

CWnd Overview | Class Members | Hierarchy Chart | DestroyCaret | GetSystemMetrics | CWnd::ShowCaret | CreateCaret

Show:
© 2014 Microsoft