
No.6ベストアンサー
- 回答日時:
こんにちは。
ベタですがこんな感じ?Private Sub Text1_GotFocus()
Text1.SelStart = Len(Text1.Text) + 1
End Sub
'
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 37 Then KeyCode = 0
Text1.SelStart = Len(Text1.Text) + 1
End Sub
' // マウス操作でカーソルも移動させたくないなら
Private Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Text1.SelStart = Len(Text1.Text) + 1
End Sub
この回答への補足
こんな方法があるんですね~知りませんでした。
大体はこの方法でできたのですがテキストボックスに対してキーボードから小数点を打つとカーソルが数字の左に行ってしまい、一番右に行ってくれません・・・
どうしたらよいでしょうか?
No.7
- 回答日時:
> テキストボックスに対してキーボードから小数点を打つとカーソルが
> 数字の左に行ってしまい、一番右に行ってくれません・・・
すみませんが、どういう状況か理解できません。当方では、小数点の
入力も特にカーソルが数字の左に行く(?)という現象は確認できません。
#5 ご回答で気づいたのですが、電卓を作ってたのですね。
現状作成中のものから別案になってしまいますが、私なら数字表示に
ラベルを使います。そして、フォームの KeyPreview プロパティーを
True にします。カーソルの位置やコントロールのフォーカスを気に
する必要はありません。
非常に大雑把ですがこんな感じです。試してみて下さい。
前提: フォームに Label1 を配置
Private Sub Form_Load()
' // KeyPressなどのキーイベントをすべてフォームが受け取るようにする
Me.KeyPreview = True
' // 結果表示用ラベルの外観をテキストボックス風に
With Label1
.Caption = ""
.Alignment = 1
.BackColor = RGB(255, 255, 255)
.BorderStyle = 1
End With
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
Dim s As String
s = Chr$(KeyAscii)
Select Case True
Case s = Chr$(8) ' // BackSpace
On Error Resume Next
Label1.Caption = Left$(Label1.Caption, Len(Label1.Caption) - 1)
On Error GoTo 0
Case s Like "[0-9]"
Label1.Caption = Label1.Caption & s
Case s = "."
' // 小数点は2つ以上は打てないようにする等の処理
Case s = "+"
' // その他四則演算子の場合の処理
End Select
End Sub
' // 00 とか 01 などにならないよう補正する
Private Sub Label1_Change()
If Label1.Caption Like "0[0-9]" Then
Label1.Caption = Mid$(Label1.Caption, 2)
End If
End Sub
No.4
- 回答日時:
>フォーカスは常に入力された数字の右側に
フォーカスじゃなくて、カーソルのことでせうね、きっと。
VB6がないのでなんですが、
テキストボックスのGotFocusイベントで、SelStartプロパティを使うのは?
'----------------------------------
Private Sub Text1_GotFocus()
Text1.SelStart = Len(Text1.Text) + 1
End Sub
'----------------------------------
でどうでしょう。
外しましたらご容赦!
以上。
No.3
- 回答日時:
VBAかVBかVBの.NETか6.0かそういうことも書かないで質問するとは・・。
VBAでもVBと書いて質問するものも居るのが実情だし。
TextのプロパティのAlignment(TextAlign)で解決することか解決しないことなのか、も書いておくべきと思う。
この回答への補足
すみませんでした・・・
VB6.0です。
TextのプロパティのAlignmentで右揃えにしてあるのですが、それだけでは数字が入力されると数字の左側にカーソルが行ってしまうので、それを常に右端から動かないようにしたいのです。
No.1
- 回答日時:
1.コントロールツールボックスを表示します。
2.デザインモードをONにします。
3.テキストボックスをクリックします。
4.デザインモードの隣のプロパティを押します。
5.プロパティウィンドウが表示されます。
6.ウィンドウの中にTextAlignがありますので、3-fmTextAlignRight
に変更します。
7.×でウィンドウを閉じます。
8.デザインモードをOFFにします。
以上です。
EXCEL2003使用
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SPREAD(GrapeCity)のセルにフォ...
-
レーザのスポット径の計算式
-
DataGridViewで入力チェック後...
-
DAMのデンモクの使い方
-
メッセージボックスを前面に表...
-
至急です。 トイレに行きたいな...
-
TDSマジックランプシアター 箱...
-
初期状態でのフォーカスの解除
-
テレビ ビエラでネット接続
-
Macのウィンドウが透ける
-
マイクロソフト エディでのお...
-
精神疾患持ちに日記を書いたら...
-
【至急】フォトショップの「自...
-
CapCutで、人の目からビームを...
-
"判定"の英語表現について
-
トップページの上部の広告宣伝...
-
油性マジックで書いたサインを...
-
至急!! ノートパソコンを3年...
-
Adobe Premiereでのコマ落とし
-
アフターエフェクトで電車の揺...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスを前面に表...
-
SPREAD(GrapeCity)のセルにフォ...
-
C#でButtonのフォーカス枠を消...
-
Chrome フォーカス時に枠が表示...
-
Excelのマクロで実行時エラー”1...
-
コンボボックスの開いたリスト...
-
レーザのスポット径の計算式
-
雷のようなアニメーションをウ...
-
DataGridViewで入力チェック後...
-
初期フォーカスについて
-
PowershellでCLIとISEの結果が違う
-
DAMのデンモクの使い方
-
コンボボックスの三角を一時的...
-
フォトショのアクションを別のM...
-
[化学基礎] μmのμはどうして...
-
iPhoneのクイックアクションを...
-
ウインドウの最前面表示
-
ComboBoxのフォーカスをはずす
-
パソコンで音楽を聞くときのHDD...
-
ふわっと色が変わるボタンを作...
おすすめ情報