2009-05-11 19 views
1

私はテキスト領域に似ているカスタムコントロールを開発しています。私は正しく動作するテキストを描画しており、また動作する入力を受け入れます。しかし、私は入力をしている間はどこにでもキャレットがあると推測しています。 現在入力している場所を示すために点滅するキャレットを描画するにはどうすればよいですか?これを行う標準的な方法はありますか?Winformsで点滅するキャレットを描画する

答えて

2

私は、気になるところでは、Caretsの管理APIはありません。したがって、キャレットのWin32関数への呼び出し、またはその機能を自分で実装する必要があります(つまり、コントロールに入力フォーカスがある場合にのみ点滅するキャレットをペイントして非表示にする)。

たとえば、Custom Caret for WinForms TextBoxを参照してください。

+1

私は実際にwin32関数に頼っていないので、私は手動でキャレットを描いていると思います。まだ秘密に誰かが "ああ、いや、この魔法の機能を使う"と言って来ることを望んでいる;-) – Ko9

+0

私は欲しい。 FWIW私のアルゴリズムは、キャレットが狭い矩形をペイントすることを示しています。キャレットを非表示にするには、背景色を使用してその矩形を再描画し、単語(背景の四角形とその前景のテキスト)を再描画します。 – ChrisW

関連する問題