version 3.01 0 Form1 1 14 0 0 0 0 0 0 4 0 0 0 0 0 0 0 1 0 0 0 238 268 Sub designer addform(Form1,"Form1","",220,220,220)@ addarraylist(form1,alTextBox,10,155,80,25)@ addtextbox(form1,TextBox4,145,105,75,22,"",255,255,255,0,0,0,True,True,False,9)@ addtextbox(form1,TextBox3,145,80,75,22,"",255,255,255,0,0,0,True,True,False,9)@ addtextbox(form1,TextBox2,145,55,75,22,"",255,255,255,0,0,0,True,True,False,9)@ addtextbox(form1,TextBox1,145,30,75,22,"",255,255,255,0,0,0,True,True,False,9)@ addbutton(form1,btnTab,100,90,35,60,"Tab",255,255,128,0,0,0,True,True,9)@ addbutton(form1,btnC,100,60,35,30,"C",255,255,128,0,0,0,True,True,9)@ addbutton(form1,btnBS,100,30,35,30,"<-",255,255,128,0,0,0,True,True,9)@ addbutton(form1,Button11,70,120,30,30,".",255,255,128,0,0,0,True,True,9)@ addbutton(form1,Button10,10,120,60,30,"0",255,255,128,0,0,0,True,True,9)@ addbutton(form1,Button9,70,30,30,30,"9",255,255,128,0,0,0,True,True,9)@ addbutton(form1,Button8,40,30,30,30,"8",255,255,128,0,0,0,True,True,9)@ addbutton(form1,Button7,10,30,30,30,"7",255,255,128,0,0,0,True,True,9)@ addbutton(form1,Button6,70,60,30,30,"6",255,255,128,0,0,0,True,True,9)@ addbutton(form1,Button5,40,60,30,30,"5",255,255,128,0,0,0,True,True,9)@ addbutton(form1,Button4,10,60,30,30,"4",255,255,128,0,0,0,True,True,9)@ addbutton(form1,Button3,70,90,30,30,"3",255,255,128,0,0,0,True,True,9)@ addbutton(form1,Button2,40,90,30,30,"2",255,255,128,0,0,0,True,True,9)@ addbutton(form1,Button1,10,90,30,30,"1",255,255,128,0,0,0,True,True,9)@ End Sub @EndOfDesignText@Sub Globals dim focused 'saves the focused textbox name End Sub Sub App_Start Form1.Show InitializeControls End Sub Sub InitializeControls alTextBox.Add("textbox1") 'Textboxes names. Must be lower case. You can add as many as you like. alTextBox.Add("textbox2") alTextBox.Add("textbox3") alTextBox.Add("textbox4") for i = 1 to 11 'Adds the click event to all regular number buttons. AddEvent("Button" & i, Click, "Numbers_Click") next for i = 0 to alTextBox.Count -1 'Adds the gotfocus event to all textboxes. AddEvent(alTextBox.Item(i),GotFocus, "TextBoxes_GotFocus") next focused = alTextBox.Item(0) Control(focused).Focus End Sub Sub TextBoxes_GotFocus focused = sender.Name End Sub Sub Numbers_Click 'Handles 0-9 and '.' st = Control(focused).SelectionStart txt = Control(focused).Text if sender.Text = "." then 'checks for multiple periods. i = StrIndexOf(txt,".",0) if i = -1 then goto ok sl = Control(focused).SelectionLength if sl > 0 then if StrIndexOf(SubString(txt,st,sl),".",0) > -1 then goto ok end if Control(focused).Focus return end if ok: if Control(focused).SelectionLength > 0 then Control(focused).Text = StrRemove(txt,st, Control(focused).SelectionLength) end if Control(focused).Text = StrInsert(Control(focused).Text,st,sender.Text) Control(focused).SelectionLength = 0 Control(focused).SelectionStart = st + 1 Control(focused).Focus End Sub Sub btnBS_Click 'Backspace st = Control(focused).SelectionStart txt = Control(focused).Text if Control(focused).SelectionLength > 0 then Control(focused).Text = StrRemove(txt,st, Control(focused).SelectionLength) Control(focused).SelectionStart = st else if st > 0 then Control(focused).Text = StrRemove(txt,st-1,1) Control(focused).SelectionStart = st - 1 end if Control(focused).SelectionLength = 0 Control(focused).Focus End Sub Sub btnC_Click 'Clear all Control(focused).Text = "" Control(focused).Focus End Sub Sub btnTab_Click i = alTextBox.IndexOf(focused) i = (i + 1) mod alTextBox.Count focused = alTextBox.Item(i) Control(focused).SelectionStart = 0 Control(focused).SelectionLength = StrLength(Control(focused).Text) Control(focused).Focus End Sub