次の方法で共有


CWnd::CreateSolidCaret

更新 : 2007 年 11 月

ソリッドで四角形のシステム カレットを作り、そのカレットの所有権を得ます。

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

参照

参照

CWnd クラス

階層図

DestroyCaret

GetSystemMetrics

CWnd::ShowCaret

CreateCaret

その他の技術情報

CWnd のメンバ