利用微軟網格控制項進行編輯輸入

2021-04-18 04:30:55 字數 1307 閱讀 7464

利用微軟網格控制項進行編輯輸入

visual basic中提供了許多標準控制項和定製控制項,每乙個控制項都可以提供一組特殊的使用者介面和程式設計能力。充分利用每乙個控制項的特性和方法,可以使程式設計工作更加容易、簡單。

微軟網格控制項msflexgrid是個定製控制項。使用微軟網格控制項,可以按行列順序顯示正文、數字和,就象電子**一樣。網格的高度、寬度和其它特性都可以進行調整,而且網格的行和列可以單個地或成組地進行操作。msflexgrid控制項對包含在內的單元內容可進行分類、合併以及格式化,並且可以與資料庫控制項相繫結。msflexgrid控制項具有50多種屬性,比其它網格控制項功能更強大,靈活性更強。

但是msflexgrid控制項同其它grid網格控制項一樣,使用者不能編輯網格單元中的內容,在要求對其內容進行修改時,這可能是乙個缺陷。雖然可以對dbgrid控制項進行程式設計完成編輯的功能,但其功能不如msflexgrid強大。當在錄入工作量比較大時,如果利用msflexgrid進行輸入,代替text或其它控制項,從而避免了介面的反覆重新整理和不斷地操作按鈕,錄入速度和效率會得以大大提高。

在應用程式中使用 msflexgrid 之前,應先將 msflxgrd.ocx 檔案新增到工程中。

實現編輯網格單元的方案

為了僅僅要求實現能夠對網格單元進行輸入,可以在msflexgrid的keypress事件中加入以下**,但是修改編輯輸入後的內容還十分困難。

sub msflexgrid1_keypress(keyascii as integer)

msflexgrid1.text=msflexgrid1.text & chr$(keyascii)

end sub

另外一種方法是文字框和網格相結合,使用者編輯操作文字框中的內容,操作完後移至網格單元中。在這個過程中,應該實現以下幾個功能:

(1)文字框能準確定位,與待編輯網格單元相重合(2)平時文字框不顯示,當進行編輯操作時顯示(3)在輸入完一行後能自動判斷並加一新行(4)按回車鍵確認並自動到下一列(5)雙擊網格單元可顯示文字框進行編輯(6)文字框消失後,把文字框內容移到網格單元中。

編輯網格單元的具體實現

建立乙個新工程,在form1上新增控制項 text1和msflexgrid1,根據表1設定其屬性。

表1 表單form1的物件和屬性

物件屬性

設定text1

visible

false

text

「」msflexgrid1

rows

2cols

根據字段數目自行設定

fixedcols

0fixedrows

1

利用微軟網格控制項進行編輯輸入

利用微軟網格控制項進行編輯輸入 visual basic中提供了許多標準控制項和定製控制項,每乙個控制項都可以提供一組特殊的使用者介面和程式設計能力。充分利用每乙個控制項的特性和方法,可以使程式設計工作更加容易 簡單。微軟網格控制項msflexgrid是個定製控制項。使用微軟網格控制項,可以按行列順...

利用微軟網格控制項進行編輯輸入

利用微軟網格控制項進行編輯輸入 visual basic中提供了許多標準控制項和定製控制項,每乙個控制項都可以提供一組特殊的使用者介面和程式設計能力。充分利用每乙個控制項的特性和方法,可以使程式設計工作更加容易 簡單。微軟網格控制項msflexgrid是個定製控制項。使用微軟網格控制項,可以按行列順...

利用微軟的SAPI進行語音合成

利用微軟的sapi進行語音合成 簡介微軟提供了乙個很好的工具用於語音識別與合成,所用的就是微軟的 speech api。在這裡我來介紹sapi的各項功能。如何使用 為了合成語音,我們需要引用system.speech.synthesis 命名空間。這個主類是speechsynthesizer。你可以...