واضح آرشیو وب فارسی:سایت ریسک: vb 6 ; نحوه وارد کردن اطلاعات به سلولهای یک MSflexGrid با کمک صفحه کلید Saeed Shahabi 13 ارديبهشت 1388, 17:26سلام به همه دوستان عزیزم... چرا نمیتونم تو vb 6 اطلاعات رو به سلولهای یک MSFlexGrid با استفاده از صفحه کلید وارد کنم؟(با کد نویسی تونستم ولی وقتی می خواستم اعداد ورودی رو تصحیح کنم;داده های درون MSFlexGrid تغییر نمی کردن...) the_king 18 ارديبهشت 1388, 11:54سلام به همه دوستان عزیزم... چرا نمیتونم تو vb 6 اطلاعات رو به سلولهای یک MSFlexGrid با استفاده از صفحه کلید وارد کنم؟(با کد نویسی تونستم ولی وقتی می خواستم اعداد ورودی رو تصحیح کنم;داده های درون MSFlexGrid تغییر نمی کردن...) بایستی یک TextBox را روی فیلد مورد نظر قرار دهید، مثلا یک کنترل MSFlexGrid 1 و یک کنترل Text1 را روی فرم قرار داده و کد زیر را به فرم اضافه کنید : Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If ActiveControl Is Text1 Then Select Case KeyCode Case vbKeyReturn With MSFlexGrid 1 .TextMatrix(.Row, .Col) = Text1.Text .CellAlignment = .CellAlignment End With Text1.Visible = False Case vbKeyEscape With MSFlexGrid 1 Text1.Text = .TextMatrix(.Row, .Col) End With Text1.Visible = False End Select End If End Sub Private Sub Form_Load() Text1.Visible = False KeyPreview = True With MSFlexGrid 1 .Cols = 3 .Rows = 4 End With End Sub Private Sub MSFlexGrid 1_DblClick() With MSFlexGrid 1 Text1.BorderStyle = 0 Text1.BackColor = vbYellow Text1.Move .Left + .CellLeft, .Top + .CellTop, .CellWidth, .CellHeight Select Case .CellAlignment Case flexAlignGeneral, flexAlignLeftBottom, flexAlignLeftCenter, flexAlignLeftTop Text1.Alignment = vbLeftJustify Case flexAlignCenterBottom, flexAlignCenterCenter, flexAlignCenterTop Text1.Alignment = vbCenter Case flexAlignRightBottom, flexAlignRightCenter, flexAlignRightTop Text1.Alignment = vbRightJustify End Select Text1.Text = .TextMatrix(.Row, .Col) Text1.Visible = True Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End With End Sub Private Sub MSFlexGrid 1_EnterCell() If Text1.Visible Then MSFlexGrid 1_DblClick Else MSFlexGrid 1.CellBackColor = vbYellow End If End Sub Private Sub MSFlexGrid 1_LeaveCell() With MSFlexGrid 1 If Text1.Visible Then .TextMatrix(.Row, .Col) = Text1.Text .CellAlignment = .CellAlignment End If .CellBackColor = vbWindowBackground End With End Sub پس از اجرا کد، روی خانه های جدول دوبار کلیک (Double Click) نموده و مقدارشان را وارد نمایید. در زمانی که در حال ویرایش مقادیر هستید، یکبار کلیک بر روی سایر خانه ها موجب جابجایی به آن خانه مورد نظر و فشار دادن کلید Enter موجب ثبت مقدار خارج شدن از حالت ویرایش خواهد شد، کلید ESC هم برای انصراف از تغییر مقدار قابل استفاده است. Saeed Shahabi 20 ارديبهشت 1388, 17:35the_king عزیز, از پاسخ خوبت ممنونم...
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 2683]