
OS:Windows 7 64bit
開発環境:Visual Studio 2013 Express
リッチテキストボックスでキャレットの幅を変更したいのですが、うまくいきません。
-------------------------------------------------------------
'キャレットを作成する
Private Declare Function CreateCaret Lib "user32" _
(ByVal hWnd As IntPtr, _
ByVal hBitmap As IntPtr, _
ByVal nWidth As Integer, _
ByVal nHeight As Integer _
) As Boolean
'キャレットを表示する
Private Declare Function ShowCaret Lib "user32" _
(ByVal hWnd As IntPtr) As Boolean
Private Sub RichTextBox1_Enter(sender As Object, e As EventArgs) Handles RichTextBox1.Enter
'CreateCaret(RichTextBox1.Handle, IntPtr.Zero, 7, 15)
CreateSolidCaret(5, 10)
ShowCaret(RichTextBox1.Handle)
End Sub
-------------------------------------------------------------
以上のようにして RichTextBox1 にフォーカスが来た時にキャレットの幅を変えるようにしているのですが、一度だけフォーカスが来た時にほんの一瞬だけ四角いキャレットが見えるのですが、すぐにI型に戻ってしまいます。
ググっても上記ソースくらいしか見つかりませんでした。
どなたかご享受願えませんでしょうか?
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
プロシージャを抜けると作成されたキャレットが破棄されるように仕様が変更されたようで
RichTextBox1_Enter イベントで作成するとすぐにRichTextBox1_GotFocus イベントが発生し
その時点で破棄されるので、一瞬しか確認できないのです。
どうしてもなら、RichTextBox1_GotFocus イベントで作成すると次のイベントが発生するまでは
破棄されませんので表示されるようになります。
但しキー入力やマウスダウンイベントが発生すると破棄されるので、キーアップイベントと
マウスアップイベントにも書いておく必要があります。
(ダウン イベント書くと直後にアップ イベントが発生するのですぐに破棄される事になり表示されません)
テキストボックスとRichTextBox とその辺の仕様が違う理由については、よく知りません(調べていない)
ありがとうございます。
テストした結果、vbhanatyanさんの仰るとおりのようです。
今回はキャレットの変更は諦めます^^;
それにしても、なんでこんな仕様に変更したのか・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) Excel VBAでの右クリックのポップアップメニューの非表示方法は? 1 2023/04/12 17:03
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
個別に違う添付ファイルを付け...
-
複数のブックを新しいブックのS...
-
flashMx2004にphpファイルを読...
-
拡張子「.IDJ」を、windo...
-
VBA:カウンターの i の値が開放...
-
HDDってギリギリまでデータいれ...
-
VisualStudio2012コメントアウト
-
エクセル ファイルの起動と同...
-
GIMP separate+プラグイン クラ...
-
ファイル数と合計サイズの取得方法
-
メモ帳のHTMLをIE7以外のプラ...
-
革に付いてしまったマジック(ペ...
-
購入したDVDの出品がだめって書...
-
エクセルのセルからフォーカス...
-
エディターを紹介してください
-
バナー作成で文字がにじんでし...
-
eclipseでタブ入力ができなくな...
-
スコープについて
-
PC内で速度を遅くした音源をCD...
-
エクセルで「特定の文字を含む...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
個別に違う添付ファイルを付け...
-
e-taxで送信ファイルの拡張子が...
-
エクセルで「特定の文字を含む...
-
複数のブックを新しいブックのS...
-
拡張子「.IDJ」を、windo...
-
A4の紙に印刷されている文字を...
-
PC内で速度を遅くした音源をCD...
-
2枚、マイクロSDカードを入...
-
GIMP separate+プラグイン クラ...
-
リストビューの選択状態を取得...
-
Accessのソースが見れない
-
eclipseでタブ入力ができなくな...
-
スマホでtxtファイルを編集する...
-
TextBoxにフォーカスを与えると...
-
ファイル数と合計サイズの取得方法
-
リストビューで選択行の背景を...
-
iPhoneの内蔵の記憶媒体は、HDD...
-
garagebandのLR Mixの方法について
-
クラリスインパクトに替わるソ...
-
エアコンの冷媒 R410Aの重...
おすすめ情報