Magazyn NoName Numer 6 (05/00) http://www.noname.zum.pl
|
CyfrowyTextBox
CyfrowyTextBox to nazwa kontrolki wynalezionej przeze mnie. Dobra, tak na serio, to potrzebna mi była taka kontrolka, która jest podobna do kontrolki TextBox, ale przechowywuje tylko cyfry i z prawej strony ma 2 strzałeczki. Jedna w górę, druga w dół. Ja się kliknie w dolną, to liczba zwiększa się o 1 a jak w górną to się zmniejsza. Niestety nie znalazłem takiej kontrolki. Ale można ją w bardzo prosty sposób napisać. Na formularzu Form nanosimy kontrolkę TextBox (nazwijmy ją Text1) W polu text wpisujemy jakąś liczbę np. 100) Teraz nanosimy kontrolkę VScrollBar okok kontrolki Text1 z prawej strony (tak aby nie było widać, że są to 2 różne kontrolki). OK, wszystko ładnie wygląda, ale to nie koniec ;) Trzeba wpisać odpowiedni kod :
Private Sub Form_Load() VScroll1.Value = Val(Text1.Text) End Sub
Private Sub Text1_Change() On Error GoTo 2 VScroll1.Value = Val(Text1.Text) 2 End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case Asc("0") To Asc("9") 'OK Case Else KeyCode = 0 Beep End Select End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case Asc("0") To Asc("9") 'OK Case Else KeyAscii = 0 Beep End Select End Sub
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case Asc("0") To Asc("9") 'OK Case Else KeyCode = 0 Beep End Select End Sub
Private Sub VScroll1_Change() Text1.Text = VScroll1.Value End Sub
Zdarzenia KeyUp, KeyDown i KeyPress odpowiadają za to, aby użytkownik naciskając inny klawisz niż cyfra ten znak nie pojawił się w TextBox'ie. Reszta zdarzeń to komunikacja między TextBox'em a Vscroll'em. Trochę tego kodu jest, ale za to zwiększamy komfort pracy w naszej aplikacji. A przecież głównie o to chodzi !!! Teraz nasza aplikacja wygląda bardziej profesjonalnie (może ktoś na podstawie mojego artu, napisze OCX'a ???) Chętnie go opublikuję (OCXa, nie autora ;)
Jeżeli przerobiliście jakąś standardową kontrolkę na ciekawszą lepszą itp. to napisz Chętnie opublikuję Twój art
Ten art pochodzi z zinu o VB (VBMagazine)
Początek artykułu

Copyright (c) 1999 - 2000 NoName |
|