當前位置:編程學習大全網 - 編程語言 - “對象引用未設置為對象的實例”錯誤!(VB。網)

“對象引用未設置為對象的實例”錯誤!(VB。網)

使用RichTextBox控件

RichTextBox控件可用於輸入和編輯文本,它還提供了比傳統TextBox控件更高級的格式化功能。

RichTextBox控件提供了壹些屬性,通過這些屬性,您可以對控件中的任何文本部分使用不同的格式。使用這些屬性,您可以使文本加粗或傾斜,更改文本的顏色,以及創建上標或下標。可以調整段落的左右縮進值,也可以使用懸掛縮進。

使用

作為壹個無底的文本框,它可以用來編寫讀取特別大的文本文件的應用程序。

在任何應用程序中實現壹個全功能的文本編輯器。

特點

以RTF格式或ASCII文本格式打開或保存文件。您可以使用該控件的方法(LoadFile和SaveFile)直接讀寫文件。還可以使用該控件的屬性(如SelRTF和TextRTF)結合Visual Basic的文件輸入和輸出語句來讀寫文件。

加載的內容。rtf文件拖動到RichTextBox控件中,只需將文件的內容(例如,從Windows 95資源管理器)直接拖動到控件中,或者將文件中在其他應用程序(例如,Microsoft Word)中使用的突出顯示部分直接拖動到控件中。

設置FileName屬性以加載. rtf或。txt文件放入控件中。

用SelPrint方法打印RichTextBox控件中的全部或部分文本。

將RichTextBox控件綁定到數據控件可以處理Microsoft Access數據庫中的Memo字段或其他數據庫中的大型文本字段(如SQL server中的TEXT數據類型)。

在運行時,通過使用OLEObject集合的Add方法將嵌入對象(如位圖、圖標和應用程序圖標)添加到控件中。在設計時或運行時,可以將任何嵌入對象拖放到控件中,包括文檔,如Microsoft Excel電子表格和Microsoft Word文檔。

在設計時設置滾動條。

默認情況下,RichTextBox沒有滾動條。在運行時,如果控件中安裝了壹個大文件,最終用戶將無法看到該文件的所有內容。為了使用戶能夠方便地滾動,ScrollBars屬性可以設置為1(水平)、2(垂直)或3(兩者都有)。這必須在設計時完成,因為ScrollBars屬性在運行時是只讀的。

用LoadFile和SaveFile方法打開和保存文件。

使用LoadFile和SaveFile方法,可以輕松地打開或保存RichTextBox控件的RTF文件。要打開文件,可以使用CommonDialog控件提供路徑名,如下所示:

私有子OpenFile()

“RichTextBox”控件的名稱為“rtfData”。

CommonDialog被稱為“dlgOpenFile”。

為文件名聲明壹個字符串變量。

顯示“打開文件”對話框。

並將變量設置為文件名。

Dim strOpen作為字符串

dlgOpenFile。ShowOpen

strOpen = dlgOpenFile。文件名

用LoadFile方法打開文件。

rtfData。加載文件存儲

末端接頭

使用SaveFile方法,保存文件同樣簡單:

私有子保存文件()

Dim strNewFile作為字符串

dlgOpenFile。顯示保存

strNewFile = dlgOpenFile。文件名

rtfData。保存文件strNewFile

末端接頭

請註意,如果文件包含控件不支持的RTF編碼,則只有相關文本不會出現在RichTextBox控件中。

用SelFontName、SelFontSize和SelFontColor設置字體屬性。

若要更改RichTextBox控件中的字體特征,可以使用SelFontName、SelFontSize和SelFontColor屬性。

通常使用ComboBox控件來顯示這些屬性的選項。然後,您可以使用ComboBox控件的Click事件更改該屬性。下面的代碼首先在Form對象的Load事件中填充壹個名為“cmbFonts”的ComboBox控件。然後使用Click事件更改RichTextBox控件的SelFontName屬性

私有子窗體_Load()

將I標註為整數

使用cmbFonts

對於i = 0進行篩選。字體。計數- 1

。添加項目屏幕。字體(壹)。文本

以…結尾

末端接頭

私有子cmbFonts_Click()

rtfData。SelFontName = cmbFonts。文本

末端接頭

要點這些屬性僅影響選定的文本,或者,如果沒有選定文本,則影響在當前光標位置之後鍵入的文本。

格式化段落的縮進、懸掛縮進和項目符號。

RichTextBox控件的另壹個特性是它可以創建帶縮進、懸掛縮進和項目符號的段落。這三種樣式如下所示:

縮進和項目符號縮進(rtf_3ind.bmp)

要使用SelFontName、SelFontSize和SelFontColor屬性,最終用戶必須選擇壹個或多個段落。這裏假設用戶只選擇第二段,創建縮進和懸掛縮進的代碼如下:

假設控件的名稱為“rtfData”。

rtfData。SelIndent = .5

rtfdata。selhangindent = 1.5

請註意,用於設置SelIndent、SelHangingIndent、BulletIndent和其他屬性的值取決於RichTextBox控件的容器的ScaleMode屬性。例如,如果RichTextBox控件的容器是壹個Form對象,當Form對象的ScaleMode屬性從7 (cm)更改為1(緹)時,SelIndent屬性必須同時從0.5 (cm)更改為283(緹)。這是因為壹厘米= 567緹。

另請註意,段落的SelBullet屬性必須設置為True,才能將該段落設置為項目符號樣式。

用SelChange事件通知屬性更改

要宣布用戶選擇的任何文本的當前屬性,可以使用SelChange事件。每當插入點或所選內容發生變化時,都會發生此事件。下面的示例使用Toolbar控件通知用戶SelBold屬性的更改。

私有Sub rtfData_SelChange()

重置工具欄按鈕對象的。

值屬性。工具欄控件的名稱是

tlbRTF .

SelBold返回0,-1或Null。如果為空

將其Mi xedState屬性設置為True。

選擇案例rtfData。塞爾博爾德

“事例0”不是粗體。

tlbRTF。按鈕(“粗體”)。值= tbrUnpressed

Case -1 '為粗體。

tlbRTF。按鈕(“粗體”)。值=壓力

Case Else的混合狀態。

tlbRTF。按鈕(“粗體”)。Mi xedState = True

結束選擇

末端接頭

用SelPrint方法打印RichTextBox的內容

若要打印RichTextBox控件,可以使用SelPrint方法。此方法需要壹個參數,即用於打印RichTextBox控件內容的Printer對象的hDC屬性。如果用戶選擇了某些文本,則只打印選定的文本。如果沒有選擇文本,則打印控件的所有內容。

以下代碼在用戶單擊CommandButton控件後,顯示帶有CommonDialog控件的打印機對話框。Flags屬性禁用頁碼,並允許用戶在此對話框中選擇各種選項:

Private Sub cmdPrint_Click()

“CommonDialog”控件的名稱是“dlgPrint”。

dlgPrint。flags = cdlPDReturnDC+cdlPDNoPageNums

If rtfData。那麽SelLength = 0

dlgPrint。Flags = dlgPrint。標誌+ cdlPDAllPages

其他

dlgPrint。Flags = dlgPrint。標誌+ cdlPDSelection

如果…就會結束

dlgPrint。放映打印機

rtfData。SelPrint dlgPrint.hDC

末端接頭

有關使用CommonDialog控件的詳細說明,請參見《Visual Basic程序員指南》中的“使用CommonDialog控件”。

顯示控件中的嵌入對象

在運行時,最終用戶可以拖動任何嵌入的對象,並將其放入RichTextBox控件中。控件中可以嵌入兩種對象:顯示為圖標的對象和顯示為數據的對象。下圖顯示了嵌入了file對象的RichTextBox作為第壹種類型的示例。

單擊時,嵌入對象將按預期啟動與文件關聯的應用程序。當控件中的數據保存為RTF文件時(使用SaveFile方法),嵌入在對象中的信息也將被保存。

但是,如果最終用戶在控件中嵌入位圖,將顯示位圖而不是其圖標,如下所示:

單擊位圖將啟動畫圖應用程序,使最終用戶能夠編輯位圖。

使用OLEObjects集合的Add方法添加嵌入對象。

使用OLEObject集合的Add方法以編程方式將嵌入對象添加到控件中,如下所示:

Private Sub cmdAddObject_Click()

將蝴蝶位圖添加到控件中。

RichTextBox1。OLEObjects.Add、、、" bfly.bmp "

末端接頭

在運行時,可以使用Add、Clear和Remove方法將嵌入的對象動態填充到控件中。

  • 上一篇:基於模型測試01
  • 下一篇:寫壹個python框架難嗎
  • copyright 2024編程學習大全網