tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^4: テキストボックスの入力プロンプトの非表示
投稿日: 2005/06/23(Thu) 13:23
投稿者花ちゃん
ユーザビリティ かどうかは、そのソフトを使う人が決める事だと私は思って
いるので、その辺の議論は、別として
(実際、ReadOnly プロパティ やHideCaret 関数があるのだし)

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

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


    Private Declare Function HideCaret Lib "user32.dll" (ByVal hwnd As IntPtr) As Integer
    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

'-----------------------------------------------------------------------

>>Win32 API 関数の HideCaret を使用すれば…
>というのが良く分かりません(汗)

こう言った場合、Googleで[HideCaret]をキーワードに検索して見て下さい。
(これは、当サイトのお約束事です。 hhttp://www.bcap.co.jp/hanafusa/hazimeni.htm#keijiban

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。