Share via


CWnd::CreateSolidCaret

システム キャレットの実線の四角形を作成し、そのキャレットの所有権を要求します。

void CreateSolidCaret( 
   int nWidth, 
   int nHeight  
);

パラメーター

  • nWidth
    キャレットの幅を指定します (論理単位で)。 このパラメーターが 0 の場合、幅はシステム定義のウィンドウ境界線の幅に設定されます。

  • nHeight
    キャレットの高さを指定します (論理単位で)。 このパラメーターが 0 の場合、高さはシステム定義のウィンドウ境界線の高さに設定されます。

解説

キャレットの図形は、行やブロックのいずれかです。

パラメーター nWidth と nHeight は、キャレットの幅と高さを指定します (論理単位で) ; 厳密な幅と高さがマップ モードによって異なります (ピクセル単位)。

システム ウィンドウ境界線の幅または高さが SM_CXBORDERSM_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

参照

関連項目

CWnd クラス

階層図

DestroyCaret

GetSystemMetrics

CWnd::ShowCaret

CreateCaret