クリアするには?


VB6  2005-11-17 21:43:01  No: 127848

直前に入力されたものをクリアコマンドで
消したいのですが、
どうすれば命令文にするとよいのでしょうか?


LESIA  2005-11-17 22:12:22  No: 127849

テキストボックスなら、こんなのとか。
http://www.winapi-database.com/tips/36/index.html


ささ  2005-11-17 22:16:25  No: 127850

クリア…という意味には2通りあることを理解していますか?

・空にする
・初期値のセットする。

いずれにせよ、直前まで入力されている項目を
GotFocusイベントなどで覚えておけば、それほど難しいことではないのでは?


VB6  2005-11-17 22:35:25  No: 127851

はい、空にするということです。

例えばkeyで次々Text1〜に入力していきます。
いっきに全部消す方法はわかるのですが、
command(すべてクリア)↑

直前に入れた一個を
command(ひとつ戻る)で、消したいのです。
ひとつ前のTextを空にするということですよね。


ぶぶ  2005-11-17 22:40:54  No: 127852

ひとつ前のTextを空にするのであれば、
Left関数使って、切り取ればいいのでは?
Left(Text1,Len(Text1)-1)


VB  2005-11-17 22:48:45  No: 127853

Private Sub Command2_Click()
    If Left(Text1, Len(Text1) - 1) Then
   
End Sub


VB6  2005-11-17 22:51:12  No: 127854

↑間違えました!!
If文使いますか?
Text2 Text3であったらどうすれば・・・
ほんとにまったくの初心者ですみません。。。


LESIA  2005-11-17 23:06:02  No: 127855

EM_UNDOを使うほどでは無かったんですね。
こんな感じでしょうか?

Option Explicit

Private mCtrl As Control

Private Sub Text1_GotFocus()
    Set mCtrl = Text1
End Sub

Private Sub Text2_GotFocus()
    Set mCtrl = Text2
End Sub

Private Sub Text3_GotFocus()
    Set mCtrl = Text3
End Sub

Private Sub Command1_Click()
    If mCtrl Is Nothing Then Exit Sub
    
    mCtrl.Text = Left(mCtrl.Text, Len(mCtrl.Text) - 1)
End Sub


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加