چگونه می توان در flexgrid یا textbox در حین درج اعداد در آنها ، بصورت سه رقمی جدا کند
Printable View
چگونه می توان در flexgrid یا textbox در حین درج اعداد در آنها ، بصورت سه رقمی جدا کند
از دستور format تو text_change استفاده كنيد
دوست عزیز در flexgrid چطور انجام می گردد.
زياد فرقي نميكنه يه خورده كدنويسي بيشتري داره
بايد كنترلت رو hook كني و يه متد _change رو بهش اضافه كني
سلام دوست عزیز.این کارو خیلی راحتتر هم میشه انجام داد. البته اگه منظورتونو درست فهمیده باشم.اینم کد:نقل قول:
کد:Dim row As Long
Dim col As Long
Dim tool As Long
Private Sub MSFlexGrid1_Click()
row = MSFlexGrid1.RowSel
col = MSFlexGrid1.ColSel
End Sub
Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
k = 0
tool = Len(MSFlexGrid1.TextMatrix(row, col))
For i = 1 To tool
Char = Mid(MSFlexGrid1.TextMatrix(row, col), i, 1)
If Char = "," Then
k = k + 1
End If
Next
If tool = 3 And tool > 0 Then
MSFlexGrid1.TextMatrix(row, col) = MSFlexGrid1.TextMatrix(row, col) + ","
MSFlexGrid1.TextMatrix(row, col) = MSFlexGrid1.TextMatrix(row, col) + Chr(KeyCode)
Exit Sub
End If
If (tool - k) Mod 3 = 0 And tool > 0 Then
MSFlexGrid1.TextMatrix(row, col) = MSFlexGrid1.TextMatrix(row, col) + ","
End If
MSFlexGrid1.TextMatrix(row, col) = MSFlexGrid1.TextMatrix(row, col) + Chr(KeyCode)
End Sub
عزیزجان . اگر این را اجرا کنی به منظورم پی می بری
Private Sub Text1_Change()
If Text1.Text <> "" Then
(" Text1.Text = Format(Text1.Text, "##,0
(Text1.SelStart = Len(Text1.Text
End If
End Sub
عدد را مستقیم در یکی از سلولهای msflexgrid وارد کرد و در حین درج اعداد همزمان، در همان سلول بصورت سه رقم سه رقم جدا کند
عزیز این کدی که فرستادم همین کارو انجام میده . همون لحظه که عدد رو وارد می کنید 3 رقم 3رقم جدا میکنه.نقل قول:
مشکل چیه؟
سلام.
اینم یه sample دیگه که با استفاده از Msflexgrid نوشته شده که مثل textBox میتونید داخلش تایپ کنید و در حین درج عدد 3 رقم 3 رقم جدا می کنه. فقط کافیه برای edit کردن هر خونه روی اون Double Click کنید و برای ثبت تغییرات Enter رو بزنید.
لینک:
کد:
کد:http://ermia2008.persiangig.com/DirectEnteringText.rar