鍒╃敤寰蒋缃戞牸鎺т欢杩涜缂栬緫杈撳叆 缃戞牸鎺т欢
鍙戝竷: 2008-7-21 08:55 | 浣滆: admin | 鏌ョ湅: 64娆
銆銆Visual Basic涓彁渚涗簡璁稿鏍囧噯鎺т欢鍜屽畾鍒舵帶浠讹紝姣忎竴涓帶浠堕兘鍙互鎻愪緵涓缁勭壒娈婄殑鐢ㄦ埛鐣岄潰鍜岀紪绋嬭兘鍔涖傚厖鍒嗗埄鐢ㄦ瘡涓涓帶浠剁殑鐗规у拰鏂规硶锛屽彲浠ヤ娇缂栫▼宸ヤ綔鏇村姞瀹规槗銆佺畝鍗曘
銆銆寰蒋缃戞牸鎺т欢MSFlexGrid鏄釜瀹氬埗鎺т欢銆備娇鐢ㄥ井杞綉鏍兼帶浠讹紝鍙互鎸夎鍒楅『搴忔樉绀烘鏂囥佹暟瀛楀拰鍥剧墖锛屽氨璞$數瀛愯〃鏍间竴鏍枫傜綉鏍肩殑楂樺害銆佸搴﹀拰鍏跺畠鐗规ч兘鍙互杩涜璋冩暣锛岃屼笖缃戞牸鐨勮鍜屽垪鍙互鍗曚釜鍦版垨鎴愮粍鍦拌繘琛屾搷浣溿侻SFlexGrid鎺т欢瀵瑰寘鍚湪鍐呯殑鍗曞厓鍐呭鍙繘琛屽垎绫汇佸悎骞朵互鍙婃牸寮忓寲锛屽苟涓斿彲浠ヤ笌鏁版嵁搴撴帶浠剁浉缁戝畾銆侻SFlexGrid鎺т欢鍏锋湁50澶氱灞炴э紝姣斿叾瀹冪綉鏍兼帶浠跺姛鑳芥洿寮哄ぇ锛岀伒娲绘ф洿寮恒
銆銆浣嗘槸MSFlexGrid鎺т欢鍚屽叾瀹僄rid缃戞牸鎺т欢涓鏍凤紝鐢ㄦ埛涓嶈兘缂栬緫缃戞牸鍗曞厓涓殑鍐呭锛屽湪瑕佹眰瀵瑰叾鍐呭杩涜淇敼鏃讹紝杩欏彲鑳芥槸涓涓己闄枫傝櫧鐒跺彲浠ュDBGrid鎺т欢杩涜缂栫▼瀹屾垚缂栬緫鐨勫姛鑳斤紝浣嗗叾鍔熻兘涓嶅MSFlexGrid寮哄ぇ銆傚綋鍦ㄥ綍鍏ュ伐浣滈噺姣旇緝澶ф椂锛屽鏋滃埄鐢∕SFlexGrid杩涜杈撳叆锛屼唬鏇縏ext鎴栧叾瀹冩帶浠讹紝浠庤岄伩鍏嶄簡鐣岄潰鐨勫弽澶嶅埛鏂板拰涓嶆柇鍦版搷浣滄寜閽紝褰曞叆閫熷害鍜屾晥鐜囦細寰椾互澶уぇ鎻愰珮銆
銆銆鍦ㄥ簲鐢ㄧ▼搴忎腑浣跨敤 MSFlexGrid 涔嬪墠锛屽簲鍏堝皢 MSFlxGrd.ocx 鏂囦欢娣诲姞鍒板伐绋嬩腑銆
銆銆瀹炵幇缂栬緫缃戞牸鍗曞厓鐨勬柟妗
銆銆涓轰簡浠呬粎瑕佹眰瀹炵幇鑳藉瀵圭綉鏍煎崟鍏冭繘琛岃緭鍏ワ紝鍙互鍦∕SFlexGrid鐨凨eyPress浜嬩欢涓姞鍏ヤ互涓嬩唬鐮侊紝浣嗘槸淇敼缂栬緫杈撳叆鍚庣殑鍐呭杩樺崄鍒嗗洶闅俱
銆銆銆銆Sub MSFLexGrid1_KeyPress(KeyAscii As Integer)
銆銆
MSFlexGrid1.Text=MSFlexGrid1.Text & Chr$(KeyAscii)
銆銆
End Sub
銆銆鍙﹀涓绉嶆柟娉曟槸鏂囨湰妗嗗拰缃戞牸鐩哥粨鍚堬紝鐢ㄦ埛缂栬緫鎿嶄綔鏂囨湰妗嗕腑鐨勫唴瀹癸紝鎿嶄綔瀹屽悗绉昏嚦缃戞牸鍗曞厓涓傚湪杩欎釜杩囩▼涓紝搴旇瀹炵幇浠ヤ笅鍑犱釜鍔熻兘锛
銆銆锛1锛夋枃鏈鑳藉噯纭畾浣嶏紝涓庡緟缂栬緫缃戞牸鍗曞厓鐩搁噸鍚堬紙2锛夊钩鏃舵枃鏈涓嶆樉绀猴紝褰撹繘琛岀紪杈戞搷浣滄椂鏄剧ず锛3锛夊湪杈撳叆瀹屼竴琛屽悗鑳借嚜鍔ㄥ垽鏂苟鍔犱竴鏂拌锛4锛夋寜鍥炶溅閿‘璁ゅ苟鑷姩鍒颁笅涓鍒楋紙5锛夊弻鍑荤綉鏍煎崟鍏冨彲鏄剧ず鏂囨湰妗嗚繘琛岀紪杈戯紙6锛夋枃鏈娑堝け鍚庯紝鎶婃枃鏈鍐呭绉诲埌缃戞牸鍗曞厓涓
銆銆缂栬緫缃戞牸鍗曞厓鐨勫叿浣撳疄鐜
銆銆寤虹珛涓涓柊宸ョ▼锛屽湪Form1涓婃坊鍔犳帶浠 Text1鍜孧SFlexGrid1锛屾牴鎹〃1璁剧疆鍏跺睘鎬с
銆銆
銆銆琛1 琛ㄥ崟Form1鐨勫璞″拰灞炴
瀵硅薄
灞炴
璁剧疆
Text1
Visible
False
Text
鈥溾
MSFlexGrid1
Rows
2
Cols
鏍规嵁瀛楁鏁扮洰鑷璁剧疆
FixedCols
0
FixedRows
1
銆銆棣栧厛瑕佸疄鐜版枃鏈鏄剧ず鐨勬椂鍊欙紝鑳戒笌缃戞牸鍗曞厓鍑嗙‘閲嶅悎銆係howTextBox瀛愪緥绋嬩究鍙互瀹炵幇姝ゅ姛鑳姐傚湪姝よ冭檻缃戞牸鏈韩鐨凾op鍜孡eft鍊笺佺綉鏍煎崟鍏冪殑楂樺害鍜屽搴︺佸垎闅旂綉鏍煎崟鍏冪殑杈规鐨勫搴︺
銆銆銆銆Sub ShowTextBox()
銆銆銆銆
With MSFlexGrid1
銆銆銆銆 '闅愯棌鏂囨湰妗嗭紝璁剧疆楂樺害鍜屽搴
銆銆銆銆
Text1.Visible = False
銆銆銆銆
Text1.Height = .RowHeight(.Row) - (Screen.TwipsPerPixelY) * 2
銆銆銆銆
Text1.Width = .ColWidth(.Col)
銆銆銆銆 ' 璁$畻鏂囨湰妗嗗乏鍧愭爣
銆銆銆銆
Text1.Left = .CellLeft + .Left
銆銆銆銆
Text1.Top = .CellTop + .Top
銆銆銆銆
Text1.Visible = True
銆銆銆銆
Text1.SetFocus
銆銆
End With
銆銆
End Sub
銆銆褰撴湁鎸夐敭瑙﹀彂缃戞牸鍗曞厓鏃讹紝鍒欐妸鍗曞厓涓殑鍐呭淇濆瓨鍒版枃鏈涓紝鐒跺悗鏄剧ず鏂囨湰妗嗙瓑寰呯紪杈戙
銆銆銆銆Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
銆銆
Dim char As String
銆銆
If KeyAscii = 13 Then
銆銆
Text1.Text = MSFlexGrid1.Text
銆銆銆銆
Text1.SelStart = Len(Text1.Text)
銆銆銆銆
Else
銆銆銆銆銆銆
char = Chr$(KeyAscii)
銆銆銆銆銆銆
Text1.Text = char
銆銆銆銆銆銆
Text1.SelStart = 1
銆銆銆銆
End If
銆銆銆銆
ShowTextBox
銆銆銆銆
KeyAscii = 0
銆銆
End Sub
銆銆褰撶劍鐐圭寮涓涓綉鏍煎崟鍏冩椂锛屽厛淇濆瓨鏂囨湰妗嗕腑鐨勫唴瀹瑰埌缃戞牸鍗曞厓锛岀劧鍚庢娴嬬寮鍗曞厓鏄惁鍦ㄦ渶澶ц绗竴鍒楋紙鍙嚜宸辫绗嚑鍒楋級锛屽鏋滄槸鑷姩鍔犱竴琛屻
銆銆銆銆Private Sub MSFlexGrid1_LeaveCell()
銆銆銆銆
MSFlexGrid1.Text = Text1.Text
銆銆
If MSFlexGrid1.Col = 0 And MSFlexGrid1.Row <> 0 And _
銆銆
MSFlexGrid1.Row = MSFlexGrid1.Rows - 1 And MSFlexGrid1.Text <> "" Then
銆銆銆銆
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
銆銆
End If
銆銆
End Sub
銆銆涓轰簡鍝嶅簲榧犳爣鍔ㄤ綔锛屾坊鍔犱互涓嬩唬鐮併
銆銆銆銆Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, _
銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆
x As Single, y As Single)
銆銆
Text1.Visible = False
銆銆
End Sub
銆銆褰撶綉鏍煎崟鍏冨彂鐢熷彉鍖栨椂锛屽彇缃戞牸鍗曞厓鍐呭鍒版枃鏈锛岀瓑寰呯紪杈戯紝浠庤屼繚璇佹枃鏈涓殑鍐呭鏈鏂般
銆銆銆銆Private Sub MSFlexGrid1_RowColChange()
銆銆
Text1.Text = MSFlexGrid1.Text
銆銆
End Sub
銆銆鍙屽嚮缃戞牸鍗曞厓鍙互瀵圭綉鏍煎崟鍏冧腑鍐呭杩涜缂栬緫銆
銆銆銆銆Private Sub MSFlexGrid1_DblClick()
銆銆
If MSFlexGrid1.Row > 0 And MSFlexGrid1.Col = 0 Then MSFlexGrid1_KeyPress 13
銆銆
End Sub
銆銆鏂囨湰妗嗚捣杈撳叆缂栬緫妗嗙殑浣滅敤锛屾ā鎷熺綉鏍煎崟鍏冿紝杈撳叆鍒版枃鏈鐨勫唴瀹癸紝缁忚繃澶勭悊閫佸埌缃戞牸涓紝褰撹緭鍏ュ畬鍚庢寜鍥炶溅閿彲浠ヨ嚜鍔ㄥ埌涓嬩竴鍒楋紝鑻ヤ负鏈鍚庝竴鍒楋紝璺宠浆鍒颁笅涓琛岀殑绗竴鍒楃瓑寰呰緭鍏ャ
銆銆銆銆Private Sub Text1_KeyPress(KeyAscii As Integer)
銆銆銆銆
If KeyAscii = 13 Then
銆銆銆銆銆銆
MSFlexGrid1.Text = Text1.Text
銆銆銆銆銆銆
Text1.Visible = False
銆銆銆銆銆銆
MSFlexGrid1.SetFocus
銆銆銆銆銆銆
If MSFlexGrid1.Col < (MSFlexGrid1.Cols - 1) Then
銆銆銆銆銆銆
MSFlexGrid1.Col = MSFlexGrid1.Col + 1
銆銆銆銆銆銆
ElseIf MSFlexGrid1.Row < MSFlexGrid1.Rows - 1 Then
銆銆銆銆銆銆銆銆
MSFlexGrid1.Row = MSFlexGrid1.Row + 1
銆銆銆銆銆銆銆銆
MSFlexGrid1.Col = 0
銆銆銆銆銆銆
End If
銆銆銆銆銆銆
KeyAscii = 0
銆銆銆銆
End If
銆銆
End Sub
銆銆浠ヤ笂绋嬪簭鍦╒B6.0 (涓枃浼佷笟鐗)涓嬭繍琛岄氳繃锛屽疄鐜颁簡瀵筂SFlexGrid缃戞牸鍗曞厓鐨勮緭鍏ョ紪杈戙傚綋鐒惰繕鍙互娣诲姞涓浜涗唬鐮佸畬鎴愬涓浜涘嚮閿殑鍝嶅簲锛屽鎸塗ab鑷姩鍒颁笅涓鍒楋紝鎸塃se閿彇娑堣緭鍏ョ瓑锛岃繖閮藉緢瀹规槗鍋氬埌锛屽湪姝や笉鍐嶅彊杩般傚鏋滄偍浣跨敤VB6.0 (涓枃浼佷笟鐗)锛岃繕鍙互鐢∕SHFlexGrid鎺т欢鏉ュ畬鎴愮紪杈戣緭鍏ョ殑鍔熻兘銆




发表于 2009-1-5 19:48
| 











