直前に入力されたものをクリアコマンドで
消したいのですが、
どうすれば命令文にするとよいのでしょうか?
テキストボックスなら、こんなのとか。
http://www.winapi-database.com/tips/36/index.html
クリア…という意味には2通りあることを理解していますか?
・空にする
・初期値のセットする。
いずれにせよ、直前まで入力されている項目を
GotFocusイベントなどで覚えておけば、それほど難しいことではないのでは?
はい、空にするということです。
例えばkeyで次々Text1〜に入力していきます。
いっきに全部消す方法はわかるのですが、
command(すべてクリア)↑
直前に入れた一個を
command(ひとつ戻る)で、消したいのです。
ひとつ前のTextを空にするということですよね。
ひとつ前のTextを空にするのであれば、
Left関数使って、切り取ればいいのでは?
Left(Text1,Len(Text1)-1)
Private Sub Command2_Click()
If Left(Text1, Len(Text1) - 1) Then
End Sub
↑間違えました!!
If文使いますか?
Text2 Text3であったらどうすれば・・・
ほんとにまったくの初心者ですみません。。。
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
ツイート | ![]() |