tagCANDY CGI VBレスキュー(花ちゃん) - テキストボックス上のキャレット(カーソル)を非表示にする(VB.NET) - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
テキストボックス上のキャレット(カーソル)を非表示にする(VB.NET)
元に戻る スレッド一覧へ 記事閲覧
このページ内の検索ができます。(AND 検索や OR 検索のような複数のキーワードによる検索はできません。)

テキストボックス上のキャレット(カーソル)を非表示にする(VB.NET) [No.149の個別表示]
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
日時: 2009/12/26 22:11
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[システム関係][テキストボックス][キー操作]                      *
* キーワード:カーソル,プロンプト,キャレット,,,                                  *
***********************************************************************************

元質問:テキストボックスの入力プロンプトの非表示 - ジェクト 2005/06/23-00:49 No.1848

早速、質問なのですが、テキストボックスをクリックしたときに入力プロンプト(入力カーソル?)がチカチカしますよね?私の設定ではテキストボックスをread onlyにしているので、入力プロンプトを非表示にして問題ないというか、意味がないのでどちらかというと消したいのですが何か良い方法はあるのでしょうか?

-----------------------------------------------------------------------------------

-----------------------------------------------------------------------------------
HideCaret 関数 を .NET で試して見たのですが、ちょっと動きが素直でないようなので
注意が必要かと思います。
キャレットが移動すると表示してしまうのでEnter イベントに書かないで
GotFocus イベントに書く必要があるようです。
Enter イベント → GotFocus イベント の順番でイベントが発生しており、Enter イベントに
書くとGotFocus イベントで表示してしまう。

表示する場合は、ShowCaret API 関数を使いますが、HideCaret 関数を使用しなければ
表示するので、フラグでも設定してやればいいかと思います。
(使用方法に合わせてコードを書いて下さい。下記は参考までに)


   <System.Runtime.InteropServices.DllImport("USER32.DLL", _
   CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _
   Private Shared Function HideCaret( _
      ByVal hwnd As IntPtr) As Integer
   End Function

    Private crtHide As Boolean

    Private Sub Button1_Click(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs) Handles Button1.Click
        crtHide = True
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs) Handles Button2.Click
        crtHide = False
    End Sub

    Private Sub TextBox1_GotFocus(ByVal sender As Object, _
                           ByVal e As System.EventArgs) Handles TextBox1.GotFocus
        If crtHide Then
            Call HideCaret(TextBox1.Handle)
        End If
    End Sub
メンテ

Page: 1 |

 投稿フォーム               スレッド一覧へ
題  名 スレッドをトップへソート
名  前
パスワード (記事メンテ時に使用)
投稿キー (投稿時 投稿キー を入力してください)
コメント

   クッキー保存   
スレッド一覧へ