カーソルを「Iビーム」から「ボックス」にするには?

解決


弁慶  2008-05-21 17:38:35  No: 144767  IP: 192.*.*.*

テキストボックスやコンボボックスにフォーカスがきた際に、カーソルが通常「Iビーム」になってると思いますが、目立たない為、「ボックス」にしたいのですが可能であれば教えて下さい。

編集 削除
やじゅ  2008-05-21 18:16:48  No: 144768  IP: 192.*.*.*

ボックスってどれ?
http://devdoc.kikyou.info/tvp/docs/kr2doc/contents/MouseCursors.html

マウスを変更したいなら、下記のキーワードで検索してみて
「マウスカーソル変更 VB6」

編集 削除
やじゅ  2008-05-21 18:18:10  No: 144769  IP: 192.*.*.*

訂正:掲示板は.NET版だったね。
「マウスカーソル変更 VB6」→「マウスカーソル変更 VB.net」

編集 削除
弁慶  2008-05-21 18:39:42  No: 144770  IP: 192.*.*.*

早速のレスありがとうございます。

説明が不十分でした。
変えたいのはマウスカーソルではなく、テキストボックス内にフォーカスがきた際のテキストボックスの中の表示です。
(EXCEL等で上書きモードの際になるような…例えが悪いかな)

「ボックス」と言ったのは、別のソフトで「Iビーム」と「ボックス(■)」の切替可能なものがあったので、その表現で書きました。
実際に「ボックス」があるのかは把握していません。

編集 削除
魔界の仮面弁士  2008-05-21 19:47:29  No: 144771  IP: 192.*.*.*

なるほど。caret の事ですか。

# ランゲージ ポータルで調べると、「カーソル」「キャレット」「カレット」と
# 和訳が揺れているされている模様…。ややこしいなぁ。
http://www.microsoft.com/language/ja/jp/search.mspx?sString=caret&langID=0


で、キャレットの変更はこんな感じ。

Private Declare Function CreateCaret Lib "user32" _
    (ByVal hWnd As IntPtr, ByVal hBitmap As IntPtr, ByVal nWidth As Integer, _
     ByVal nHeight As Integer) As <MarshalAs(UnmanagedType.Bool)> Boolean

Private Declare Function ShowCaret Lib "user32" _
    (ByVal hWnd As IntPtr) As <MarshalAs(UnmanagedType.Bool)> Boolean

  CreateCaret(TextBox1.Handle, IntPtr.Zero, 15, 15)
  ShowCaret(TextBox1.Handle)

編集 削除
やじゅ  2008-05-21 20:56:33  No: 144772  IP: 192.*.*.*

キャレットの幅を変更できることを今頃しりました。
調べたところ
コントロールパネルのユーザー補助のオプション→画面タブ
カーソルのオプション→幅
で変更できますね。プログラムではないけど・・・

編集 削除
弁慶  2008-05-23 08:55:33  No: 144773  IP: 192.*.*.*

回答ありがとうございました。
「魔界の仮面弁士」さん。これは一度試してみます。

いざとなれば「やじゅ」さんアドバイスの方法もありかと思います。
これはお客様に判断して使ってもらおうかと思います。

本当にありがとうございました。

編集 削除