CWnd::CreateSolidCaret
ソリッドで四角形のシステム カレットを作り、そのカレットの所有権を得ます。
void CreateSolidCaret(
int nWidth,
int nHeight
);
パラメーター
nWidth
カレットの幅を (論理単位で) 指定します。 このパラメーターが 0 のときは、システムで定義されたウィンドウ境界の幅になります。nHeight
カレットの高さを (論理単位で) 指定します。 このパラメーターが 0 のときは、システムで定義されたウィンドウ境界の高さになります。
解説
カレットの形は線またはブロックです。
パラメーター nWidth と nHeight でカレットの幅と高さを (論理単位で) 指定します。実際の幅と高さ (ピクセル単位) はマップ モードに依存します。
システムのウィンドウの境界線の幅や高さは、SM_CXBORDER インデックスと SM_CYBORDER インデックスを指定した GetSystemMetrics Windows 関数を使用して取得できます。 ウィンドウの境界線の幅または高さを使用すると、高解像度ディスプレイでもカレットを表示できます。
CreateSolidCaret メンバー関数は、キャレットをどのウィンドウが所有していても、直前のキャレットの形を自動的に破棄します。 作成されたカレットは、最初は非表示になります。 カレットを表示するには、ShowCaret メンバー関数を呼び出します。
システム キャレットは共有リソースです。 CWnd は、入力フォーカスを持っている場合またはアクティブな場合だけキャレットを作成します。 入力フォーカスを失う前か非アクティブになる前にカレットを破棄する必要があります。
使用例
// Create a 5x10 solid caret in the edit control.
void CMyDlg::OnCreateSolidCaret()
{
m_MyEdit.CreateSolidCaret(5, 10);
m_MyEdit.ShowCaret();
}
必要条件
**ヘッダー:**afxwin.h