我有一些test 欄位然後下方我弄了10個command, 代表0~9想代替鍵盤輸入也就是以滑鼠點擊comand1~10, 就等於按鍵盤上的0~9這是要用focus , 還是?? focus 會在command1~10上耶我要如何把字填入text欄位呀.....謝謝
2006-03-03 06:19:21 · 4 個解答 · 發問者 finns 4 in 電腦與網際網路 ➔ 程式設計
1.是text 欄位
2. 下方command 0~9 模擬 鍵盤 0~9
3. 如何按下方command 0~9 , 所在的text欄位自動填入0~9
2006-03-03 07:48:17 · update #1
最後一位看懂我的問題了
但我要的不只像計算機只有一個text欄位
我至少要10個不同的欄位
我要如何知道他的index, 或者說focus??
2006-03-04 16:12:43 · update #2
我想原PO者的想法是想模擬計算機的輸入方式,
可用滑鼠按數字按鈕或直接按鍵盤的數字鍵,
讓結果出現在TEXT1文字方塊。
Private Sub Form_Load()
'在form1上佈置十個command按鈕, 名字分別是command1~command10
'以下把十個command按鈕的文字設為數字1~0
Command1.Caption = 1
Command2.Caption = 2
Command3.Caption = 3
Command4.Caption = 4
Command5.Caption = 5
Command6.Caption = 6
Command7.Caption = 7
Command8.Caption = 8
Command9.Caption = 9
Command10.Caption = 0
'佈置一個text的文字方塊,名字是text1,內容是空的
Text1.Text = ""
'駐點是出現在text1文字方塊
Text1.TabIndex = 0
End Sub
Private Sub Text1_Input(CommandCaption)
'按各command按鈕,會把按鈕文字加到text1文字方塊
Text1.Text = Text1.Text & CommandCaption
'輸入焦點都永遠在text1
Text1.SetFocus
'駐點放在最後一字
SendKeys "{end}"
End Sub
'以下按各按鈕的事件都呼叫text1_input,以節省重覆coding
Private Sub Command1_Click()
Call Text1_Input(Command1.Caption)
End Sub
Private Sub Command2_Click()
Call Text1_Input(Command2.Caption)
End Sub
Private Sub Command3_Click()
Call Text1_Input(Command3.Caption)
End Sub
Private Sub Command4_Click()
Call Text1_Input(Command4.Caption)
End Sub
Private Sub Command5_Click()
Call Text1_Input(Command5.Caption)
End Sub
Private Sub Command6_Click()
Call Text1_Input(Command6.Caption)
End Sub
Private Sub Command7_Click()
Call Text1_Input(Command7.Caption)
End Sub
Private Sub Command8_Click()
Call Text1_Input(Command8.Caption)
End Sub
Private Sub Command9_Click()
Call Text1_Input(Command9.Caption)
End Sub
Private Sub Command10_Click()
Call Text1_Input(Command10.Caption)
End Sub
2006-03-05 10:08:49 補充:
您可以把我貼的程式複製到VB執行,駐點的移動(按TAB)可利用tabindex,所以程式一開始執行把Text1.TabIndex設為 0,您可以指定每個物件的tabindex,再利用Setfocus來改變駐點。至於物件會被focus變成駐點,是因為您按了TAB或按了滑鼠左鍵,這會觸發gotfocus事件, 但command按鈕使用click事件來做處理即可。
2006-03-03 13:44:29 · answer #1 · answered by 藍色骨頭 1 · 0⤊ 0⤋
Private Sub Command1_Click()
Text1.Text = Str(Abs(Val(Text1.Text)))
Text1.Text = "1"
Text1.Text = Left(Text1.Text, Len(Text1.Text))
End Sub
Private Sub Command2_Click()
Text1.Text = Str(Abs(Val(Text1.Text)))
Text1.Text = "2"
Text1.Text = Val(Text1.Text) + Left(Text1.Text, Len(Text1.Text))
End Sub
Private Sub Command3_Click()
Text1.Text = Str(Abs(Val(Text1.Text)))
Text1.Text = "3"
Text1.Text = Left(Text1.Text, Len(Text1.Text))
End Sub
Private Sub Command4_Click()
Text1.Text = Str(Abs(Val(Text1.Text)))
Text1.Text = "4"
Text1.Text = Left(Text1.Text, Len(Text1.Text))
End Sub
Private Sub Text1_Change()
Dim a As String
a = Left(Text1.Text, Len(Text1.Text))
Text1.Text = a
End Sub
.......等
2006-03-02 21:17:48 · answer #2 · answered by mo 2 · 0⤊ 0⤋
Private Sub Command1_Click()
'讓Test取得駐點
Test.SetFocus
'送出 0
SendKeys 0,True
End Sub
建議將CommandButton設成陣列(0~9)
Private Sub Command1_Click(Index As Integer)
Test.SetFocus
SendKeys Index, True
End Sub
2006-03-03 13:11:28 補充:
Private Sub Command1_ClickText.SelText = 1End Sub或Private Sub Command1_Click(Index As Integer)Text.SelText = IndexEnd Sub
2006-03-02 15:47:15 · answer #3 · answered by W.J.S. 7 · 0⤊ 0⤋
我有一點點不懂你ㄉ意思
你是說:你做ㄌ一些testㄉ方塊,然後自己key文字在方塊中ㄇ?
(你一開始放上test時,裡本原本就會有test1,test2......吧!)
如果是我提出ㄉ疑問ㄉ話,做法如下:
你用滑鼠左鍵點一下"test"方塊,
然後在屬性欄位的地方找"text"ㄉ格子,將你要ㄉ文字key在旁邊空白ㄉ位置上
你ㄉtest方塊,就會show出你key入ㄉ文字ㄌ
2006-03-02 15:00:38 · answer #4 · answered by NK 2 · 0⤊ 0⤋