本文主要介紹delphi用戶界面,下面一起看看delphi用戶界面相關(guān)資訊。
delphi richview使用簡(jiǎn)介richview組件由9個(gè)組件模塊組成,即:
1.trvstyle:主要定義richview樣式。定義后,其他rih視圖可以參考這種風(fēng)格。
2.主要用于顯示文本、圖像等。
3.trichviewedit:主要用于編輯文本、圖像等。
4.tdbrichvi:與richview相同,但主要用于數(shù)據(jù)傳感。
5.tdbrichvi:與rihcvi:用于打印trv控件中的文檔。
7.trvprintpreview:用于打印預(yù)覽。
8.trvreporthelper:用于在其他控件上顯示文檔。
9.trvooffic:用于操作word文檔。
9大類詳細(xì)介紹:
1.trvstyle:這個(gè)組件在運(yùn)行時(shí)是不可見的。trvstyle是派生類,直接繼承tcomponent。如果要在richview中顯示文檔,只需將要顯示的richview與trvstyle組件相關(guān)聯(lián)(創(chuàng)建trvstyle后,將richveiw的style屬性與該trvstle相關(guān)聯(lián))。同樣,richview、richviewedit、dbrichview和dbrichviewedit都可以以相同的與此trvstyle關(guān)聯(lián)。如果一個(gè)trvstyle與多個(gè)組件關(guān)聯(lián),當(dāng)一個(gè)組件想要?jiǎng)h除這個(gè)trvstyle時(shí),其他組件可以 不要繼續(xù)使用這種。解決方案是一個(gè)組件與一個(gè)trvstyle相關(guān)聯(lián)。
rvstyle有三個(gè)主要屬性:
(1)text styles——主要設(shè)置一些文本樣式;
(2)段落樣式-段落標(biāo)題樣式
(3)列表樣式–段落標(biāo)題樣式的列表
rvstyle顏色屬性:
。顏色–背景顏色;
。selcolor,inactiveselcolor–選擇文本的背景顏色。
。seltextcolor,inactiveseltextcolor-選擇文本的顏色。
。殘疾人信息當(dāng)控件不可用時(shí)文本的顏色。
。。hover color——超文本的顏色;
。檢查點(diǎn)顏色–檢查點(diǎn)虛線的顏色;
。checkpointevcolor–檢查點(diǎn)事件虛線的顏色;
。pagebreakcolor–文檔分隔符顏色;
。浮動(dòng)線顏色–左右占位符顏色。
rvstyle:鼠標(biāo)風(fēng)格;
。跳轉(zhuǎn)光標(biāo)–超文本風(fēng)格
。。lineselectcursor-左列樣式。
標(biāo)簽元素相關(guān)屬性
。field highlight color–高亮顏色。
。。field highlight type-高亮模式(有三種)。
腳注編號(hào)–一些腳注類型。
。footnotepagereset-頁(yè)腳模式。
尾注編號(hào)–尾注類型。
rvstyle的其他屬性;
。selection style–文檔外觀選擇;
。selection mode–選擇模式;
。defunicodestyle–默認(rèn)的unicode文本樣式;
。。defcodepage-ansi -unicode自動(dòng)轉(zhuǎn)換;
。。linewrapmode文本框類型;
。.使用聲音.語(yǔ)音開關(guān)
rvstyle方法;
。。saveini將rvstyle屬性保存到ini文件中;
。。loadini從ini文件中加載rvstyle屬性;
。。savereg將rvstyle屬性保存到注冊(cè)文件中;
。。loadreg將rvstyle屬性加載到注冊(cè)文件中。
。。savecss保存。rvstyle樣式添加到css文件中。
。savecsstory。保存。rvstyle樣式作為css文件,然后將其保存到流中。
rvstyle事件
。。ondrawcheckpoint繪制檢查點(diǎn);
。。ondrawpagebreak-畫一條分界線;
ondrawrapparaback–繪制段落的背景;
。ondrawtextback–繪制文本背景;
。onapplystyle–將文本類型保存到畫布;
。onapplystylecolor–將文本顏色保存到畫布上;
。ondrawstyletext–指定的文本類型;
。onstylehoversensitive–repaint:當(dāng)鼠標(biāo)移入或移出指定的文本類型時(shí)重繪樣式;
2.trichview trichview組件主要用于顯示文檔內(nèi)容,包括圖片、表格、文字,甚至其他組件。trvstyle(前面介紹過)使用前必須關(guān)聯(lián),沒有關(guān)聯(lián)就無法顯示。trichview有一個(gè)重要的屬性設(shè)置,在其中可以設(shè)置一些重要的參數(shù)。三視圖屬性、事件、方法;。style–與trvstyle關(guān)聯(lián)。選項(xiàng)——一些重要的操作(后面會(huì)討論);。item count-文檔中元素的數(shù)量..backgroundbitmap-文檔背景圖片。background style-文檔背景圖片顯示樣式。顏色。文檔背景色。firstjumpno給第一個(gè)超文本添加一個(gè)id號(hào);trichview插入事件;。addnl添加文本元素;。addbreakex增加分隔線;。addpictureex添加圖片;。addhotpicture添加熱門圖片;。addcontrolex添加組件;。add在文本后添加字符;。addfmt增加了特征格式字符集。清除清除文檔內(nèi)容。format,formattail格式化文檔內(nèi)容;。重新格式化重新格式化文檔;。當(dāng)光標(biāo)單擊超鏈接時(shí)發(fā)生onjump。onrvmousemove在光標(biāo)移動(dòng)到超鏈接時(shí)發(fā)生;。getjumppointitemno跳轉(zhuǎn)到具有指定id號(hào)的元素;左邊距、右邊距、上邊距和下邊距;maxtextwidth最長(zhǎng)的行(字符數(shù));mintextwidth最短的行(字符數(shù));。documentheight文檔高;。valign垂直對(duì)齊;。vscrollvisible垂直滑塊開關(guān);。水平滑動(dòng)桿開關(guān);。垂直滑桿的vsmallstep滑動(dòng)幅度;。onvscrolled垂直滑塊事件;。onhscrolled水平滑塊事件;。復(fù)制將所選內(nèi)容復(fù)制到剪貼板;。copydef選擇模式將所選內(nèi)容復(fù)制到剪貼板;。copyimage將所選圖片復(fù)制到剪貼板;。copytexta將所選內(nèi)容以文本形式復(fù)制到剪貼板;。復(fù)制textw以u(píng)nicode格式將所選內(nèi)容復(fù)制到剪貼板;。copyrvf以rvf格式將所選內(nèi)容復(fù)制到剪貼板;。copyrtf以rtf格式將所選內(nèi)容復(fù)制到剪貼板;。getselectedimage返回選中的圖片;。getseltext返回選定的文本;。getseltextw將所選內(nèi)容作為unicode字符返回;。選擇全部全選;。setselectionbounds選擇指定的元素;。selectwordat在指定坐標(biāo)處選擇一個(gè)字符;。selectcontrol選擇一個(gè)可視組件;。取消選擇以取消選擇;。rvfoptions加載和保存rvf風(fēng)格的一些操作;。rvfwarnings閱讀rvf風(fēng)格的一些錯(cuò)誤;。savervf以rvf格式保存文檔;。savervftostream將文檔保存為rvf格式,然后保存到流中;。loadrvf加載rvf文件;。loadrvffromstream從流中加載rvf文件;。將rvf文檔復(fù)制到剪貼板;。insertrvffromstream從流中添加rvf文檔;。loadfromstream從流中加載rvf、rtf或文本格式的文件;。loadtext從文件中添加文本;。loadtextw從unicode編碼文件添加文本;。loadrtf加載rtf。savehtml以html格式保存文檔;savehtmlex以html格式保存文檔。使用css樣式;。savehttmltostream,savehttmltostreamex方法同上,只是保存到流中,而不是直接作為文檔保存;。savetext保存為文本文件;。savetextw保存為unicode文件;。savetextstream,save text stream-可以選擇保存到流中;。savertf可以選擇保存為rtf格式;。savertftostream可以有選擇地以rtf格式保存到流中..getitemstyle返回元素的類型;。gettextinfo返回文本元素的信息;。getbreakinfo返回分隔線信息;。getbulletinfo返回項(xiàng)目符號(hào)信息;。gethotspotinfo返回一個(gè)熱點(diǎn)。信息;。getpictureinfo返回圖片或熱門圖片信息;。getcontrolinfo返回組件信息;。getitemextrainproperty,getitemextrastproperty返回元素的額外屬性值;。getitem通用方法,主要用于表格;。getitemcheckpoint返回元素的檢查點(diǎn);。getitemvalign返回元素位置;。getitemtag返回元素的標(biāo)簽;。getitemtext返回元素內(nèi)容;。isparastart返回它是否是第一個(gè)元素;。isfromnewline返回它是否是第一個(gè)元素;
3.trichviewedit trichviewedit主要用于編輯文本內(nèi)容,如圖片、文字、表格、控件等。如果沒有與之關(guān)聯(lián)的rvstyle,trichviewedit無法顯示或編輯任何內(nèi)容屬性、事件、方法列表(用法稍后介紹)屬性curitemno–當(dāng)前元素編號(hào)curitemstyle–當(dāng)前元素類型curparastyleno–當(dāng)前段落樣式類型編號(hào)curtextstyleleno–當(dāng)前文本樣式編號(hào)editor options–設(shè)置一些編輯選項(xiàng)。只讀內(nèi)容是否可編輯,或只讀修改-內(nèi)容是否已修改customcaretinterval-自定義字符重繪間隔事件onchange觸發(fā)oncurparastylechanged當(dāng)文檔內(nèi)容更改時(shí),oncurtextstylechanged當(dāng)當(dāng)前段落樣式更改時(shí),onpaste允許粘貼當(dāng)當(dāng)前文本樣式更改時(shí)。粘貼onstyleconversion以更改選定的文本樣式onparastyleconversion以更改段落樣式oncaretgetout以在字符超出邊界時(shí)觸發(fā)oncaretmove,并在字符移動(dòng)時(shí)觸發(fā)onitemtextedit。當(dāng)文本類型元素的文本內(nèi)容改變時(shí),onsmartpopupclick彈出。菜單onmeasurecustomcaret和ondrawcustomcaret替換字符的常用方法applyparastyle、applytextstyle保存文本樣式applystyleconversion保存選定文本的樣式applyparastyleconversion保存選定段落的樣式更改。文檔內(nèi)容更改事件beginupdate,endupdate重繪/刷新searchtext,-a,-w查找字符的常用插入方法,inserttext,-a,-w,insertstringtag,insertstringtag,insertstringtag插入文本插入break插入行插入項(xiàng)目符號(hào)插入項(xiàng)目符號(hào)插入控件插入組件插入熱點(diǎn)插入圖片插入熱點(diǎn)圖片插入超文本鏈接圖片插入選項(xiàng)卡插入系統(tǒng)。table鍵inserttextfromfile,insertrvfromstreated從文件或流中插入rvf格式的文件,insertrvfromstreated從文件或流中插入rtf格式的文件,insertoemtextfromfile從文件中插入字符insertitem插入元素的常用方法剪貼板操作(主方法和事件)canpaste canpaste允許從剪貼板中粘貼canpastervf嗎?canpastertf允許你從剪貼板粘貼rtf內(nèi)容,剪切到路面?粘貼位圖粘貼圖片粘貼圖元文件粘貼圖形元素pastegraphicfile粘貼圖形元素pastevf pastervf格式內(nèi)容pastetf pastertf格式內(nèi)容pastetexta粘貼ansi格式內(nèi)容從剪貼板粘貼文本剪貼板粘貼unicode格式內(nèi)容刪除選擇刪除選擇的內(nèi)容選擇當(dāng)前世界選擇當(dāng)前世界選擇當(dāng)前線選擇當(dāng)前線選擇當(dāng)前線常用編輯元素方法setbreakinfoed更改水平線setbulletinfoed定義更改項(xiàng)目符號(hào)setcontrolinfoed。更改組件sethotspotinfoed更改熱點(diǎn)setpictureinfoed更改圖片setitemextraintpropertyed編輯元素屬性setitemtaged編輯元素標(biāo)簽setitemproperty。d調(diào)整元素的相對(duì)位置setitemtexted更改元素名稱setcheckpointinfoed編輯檢查點(diǎn)removecheckpointed刪除檢查點(diǎn)resizecontrol調(diào)整組件adjustcontrolplacement,adjustcontrolplacement2自動(dòng)調(diào)整組件位置以獲取元素信息方法getcurrenttextinfo獲取文本信息getcurrentbreakinfo獲取行元素信息getcurrentbulletin獲取項(xiàng)目符號(hào)信息getcurrentcontrolinfo組件信息get。currenthotspotinfo熱點(diǎn)信息getcurrentpictureinfo圖片信息getcurrentitem,getcurrentitemex。未知類型元素信息getcurrentitemextraintproperty,getcurrentitemextrastrproperty返回指定的元素屬性值getcurrenttag返回元素標(biāo)簽getcurrentitemvalign返回元素水平位置getcurrentcheckpoint返回元素檢查點(diǎn)getcurrentitemtext返回元素名稱getcurrent。linecol在當(dāng)前位置返回行和列undo和restore undo limit set undo buffer undo action return undo undo最后一個(gè)操作undoname return undo操作redo redoes restore最后一個(gè)撤消操作redoname return restore操作clearundo清除undo和restore buffer unicode操作pastetextw從剪貼板復(fù)制unicode文本inserttextw插入unicode文本inserttextfromfilew從文件插入unicode文本拼寫檢查getcurrentmisspelling返回單詞livespellingmo,并在當(dāng)前位置出錯(cuò)。de拼寫檢查switch check point setcheckpointinfoed add check point remove check pointed特殊元素的檢查點(diǎn)getcurrentcheckpoint返回當(dāng)前元素的檢查點(diǎn)getcurrentcheckpoint添加或編輯檢查點(diǎn)removecurrent當(dāng)前元素。checkpoint刪除當(dāng)前元素的檢查點(diǎn)insertcheckpoint當(dāng)前位置添加檢查點(diǎn)getcheckpointatcaret返回當(dāng)前位置的檢查點(diǎn)removecheckpointatcaret刪除當(dāng)前檢查點(diǎn)。
tdbrichview tdbrichviewedit trv print trv print preview、trvreporthelpertdbrichview、tdbrichviewedit主要用于顯示和編輯數(shù)據(jù)感知的內(nèi)容,就像richview、dbrichview和dbrichviewedit除非與rvstyle關(guān)聯(lián),否則不能顯示任何內(nèi)容。tdbrichview、dbrichviewedit支持以下類型的rvf richview文件類型:rtf richview文本類型:text others: other trvprint主要用于打印richview文檔。運(yùn)行時(shí)不可見使用方法1首先指定要打印的內(nèi)容2指定頁(yè)眉或頁(yè)腳3設(shè)置內(nèi)容格式4打印或預(yù)覽5釋放內(nèi)存事件方法onformatting當(dāng)頁(yè)碼改變時(shí)觸發(fā)onpage prepaint和onpagepostpaint,允許在每頁(yè)上重新打印。t組件打印組件邊距l(xiāng)eftmarginmm左邊距rightmarginmm右邊距topmarginmm bottommarginmm這里的下邊距與編輯文檔時(shí)的邊距不同。一個(gè)用于頁(yè)面,另一個(gè)用于文檔trvprintpreview。要預(yù)覽文檔,必須首先關(guān)聯(lián)trvprint。打印設(shè)置也準(zhǔn)備好了。trv porthelper類似于trvprint,將文檔發(fā)送到打印機(jī),而trv porthelper將文檔發(fā)送到任何畫布進(jìn)行顯示,如屏幕、打印機(jī)、圖像等。trv office服務(wù)轉(zhuǎn)換器允許在richview中使用microsoft office(32位版本)文本格式。
scalerichviewscalerichview是trichview的一個(gè)插件,使用trichview引擎來呈現(xiàn)文檔。scalerichview上的文檔實(shí)際上是一個(gè)隱藏的richviewedit,所以可以使用r。ihcview也使用scalerichview。在安裝scalerichview之前,必須安裝trihcview。通常在開發(fā)過程中,都是以richview scalerichview的進(jìn)行開發(fā)。介紹了scalerichview的主要功能。1支持所有richview功能。2所見即所得。3快速編碼。4支持近120種文檔格式。5支持打印不同的文檔樣式,如編輯文檔時(shí)使用a4樣式。打印時(shí)可選擇a5樣式,6頁(yè)面定位,7支持多種部署模式,8滾動(dòng)scalerichview組件介紹(后面會(huì)詳細(xì)介紹后面的類),1 tsrichviewedit可以所見即所得的編輯文檔,支持多種頁(yè)面瀏覽模式。包括頁(yè)面查看模式2 tdbsrichviewedit和tsrichviewedit,它只用于數(shù)據(jù)感知,也是所見即所得的標(biāo)尺,橫平豎直。繼承trvruler4 tsrvtoolbar工具欄5 tsrvtoolwindow彈出窗口,可以放工具欄6 tsrvpagescroll顯示文檔縮略圖7 tsrvprint打印文檔8 tsrvpreview瀏覽文檔4。tsrichviewedittsrichviewedit主要用于處理文本內(nèi)容。以下是一些常見的屬性和方法。事件屬性:richviewedit:返回一個(gè)trichviewedit組件,然后通過trichviewedit的一個(gè)屬性方法操作文檔。默認(rèn)情況下,tsrichviewedit使用內(nèi)部trichviewedit。如果要使用自定義的trichviewedit,只要關(guān)聯(lián)tsrichviewedit的externalrv屬性,如果要使用自定義的trvstyle,那么只需要將其與其externalrvsytle關(guān)聯(lián)即可。rvheader編輯器rvfooter頁(yè)腳編輯器rvnote頁(yè)腳和尾注編輯器頁(yè)面屬性相關(guān)頁(yè)面屬性視圖屬性視圖模式背景屬性下面的一些屬性提供對(duì)richviewedit的訪問。性別和用法和richviewedit一樣,前面已經(jīng)提過了,所以我贏了 不要在這里談?wù)撍?。屬性名是一樣的,這個(gè)屬性也可以應(yīng)用到其他編輯器上。動(dòng)畫模式。bidimode.cpeventkin。d。只讀。rtfoptions。rtfreadproperties。rvbackgroundbitmap。rvbackgroundstyle。rvcolor。rveditoroptions。rvfoptions。rvfparastylesreadmode。rvftext樣式readmode。rvoptions。smartpopupproperties,smartpopupvisible。tabnavigation下列屬性是hscrollpos設(shè)置,允許您在編輯時(shí)更改屬性值或獲取滾動(dòng)位置。hscrollbar和vscrollbar顯示或隱藏滾動(dòng)事件scrolledpage return上的滾動(dòng)條。返回第一頁(yè)菜單按鈕和菜單水平菜單設(shè)置菜單按鈕和菜單水平菜單垂直菜單設(shè)置方法convertrvtosrv和convertsrvtorv允許在tsrichviewedit和richviewedit getpage之間進(jìn)行位置轉(zhuǎn)換。clientrect返回頁(yè)面的位置getitembounds返回頁(yè)面元素的位置getcaretposinunits返回當(dāng)前位置getpageat返回頁(yè)面的指定位置getitemat返回指定位置的元素unitsperinchunitsperinchv允許單位間的坐標(biāo)轉(zhuǎn)換findnexthy。perlink/findpriorhyperlink查找超鏈接findnext check point/findpriorchcheck point查找檢查點(diǎn)findnextitem/findprioritem查找元素findnextheading/findpriorheading查找標(biāo)題nextcur hyperlink/prior cour選擇超鏈接nextcurcheck point/prior cour check point選擇檢查點(diǎn)nextcuritem/priorcuritem選擇元素nextcurheading/prior cur標(biāo)題移動(dòng)到當(dāng)前標(biāo)題范圍的指定范圍搜索查找第一個(gè)cur頁(yè)光標(biāo)移動(dòng)第一頁(yè)前一頁(yè)光標(biāo)移動(dòng)上一頁(yè)下一頁(yè)。curpage光標(biāo)移動(dòng)下一頁(yè)lastcurpage光標(biāo)移動(dòng)最后一頁(yè)printall打印整個(gè)文檔printcurrent printrange打印指定范圍的內(nèi)容minprinteditemno和maxprinteditemno允許打印指定元素之間的drawpage和drawmetafile。允許文檔顯示在其他畫布或圖元上的onpageformatchanged事件在pageproperty和pageformat的屬性更改時(shí)發(fā)生。onchangeviewmodebefore在viewproperty的屬性更改時(shí)發(fā)生。當(dāng)viewmode的屬性更改時(shí)發(fā)生before。當(dāng)oncurrentpagechange移動(dòng)到其他頁(yè)面時(shí),會(huì)發(fā)生onzoomchanged on shud、onvsuld、onpagesuld。當(dāng)文檔中的頁(yè)數(shù)發(fā)生變化時(shí),會(huì)發(fā)生onpagecountchanged。onpaintpage在單擊頁(yè)面后發(fā)生。如果默認(rèn)方法無法完全顯示,可以使用此方法顯示控件onpaint以顯示其他oncheckcontrol枚舉,這樣添加的控件onmessagecontrol允許添加的控件響應(yīng)消息ongetpagepos允許您自定義頁(yè)表圖標(biāo)的位置和順序。首先,將viewproperty的usetableicons屬性設(shè)置為true,當(dāng)用戶將光標(biāo)移動(dòng)到表格上時(shí),表格的左上角會(huì)顯示一個(gè)小圖標(biāo)。當(dāng)光標(biāo)被移除時(shí),圖標(biāo)將消失,并且將觸發(fā)ontableiconclick事件。
table table是richview中的一個(gè)特殊元素,也是richview中元素中最復(fù)雜的一個(gè)。表格由單元格組成。在richview中,每個(gè)單元格相當(dāng)于一個(gè)richview文檔,其中可以包含各種元素,如表格。理論上,表格可以無限嵌套,這就導(dǎo)致了它的復(fù)雜性。表格屬性邊框?qū)挾缺砀襁吙蜷L(zhǎng)度邊框樣式邊框樣式邊框顏色邊框顏色邊框亮度顏色三維外觀邊框顏色可見邊框?qū)挾蕊@示和隱藏單元格邊框?qū)挾葐卧?。邊框長(zhǎng)度單元格邊框樣式單元格邊框顏色單元格邊框顏色三維外觀單元格邊框顏色單元格間距單元格之間的水平距離單元格之間的垂直距離單元格邊框間距表格邊框和表格的最外層。單元格之間的水平距離邊框間距表格邊框和最外側(cè)單元格之間的垂直距離顏色表格背景色背景圖像背景圖像背景樣式背景圖像文件名在html表格方法中保存背景圖像名稱insertcolsleft當(dāng)添加列insertcolsleft在前一單元格的左側(cè),添加列insertrows在當(dāng)前單元格的右側(cè)上方,添加行insertrows在當(dāng)前單元格的下方,添加行deleteselectedcols要?jiǎng)h除選定的列,刪除選定的行mergeselectedcells。合并單元格未合并選定單元格拆分單元格拆分選定單元格垂直拆分選定單元格垂直拆分選定單元格垂直拆分選定單元格多個(gè)列插入列指定位置添加列插入行指定位置添加行刪除行刪除指定行合并單元格合并指定范圍內(nèi)的單元格未合并單元格拆分指定范圍內(nèi)的單元格刪除空白行刪除所有包含空白單元格的列表用法創(chuàng)建...var表:trvtabl:= trvtableiteminfo。createex(rowcount,columncount,rvdata);rvdata是要在其中創(chuàng)建表格的文檔,通常指的是richview。rvdata或richviewedit。rvdata
添加表格。parano: = paragraphstyleindexrichview . addition to rich view。(表名,表)paragraphstyleindex是該表的索引值。tablename表的名稱是一個(gè)字符串,而不是對(duì)象名。在顯示文檔之前,不需要重新格式化此方法。
在richviewedit中添加一個(gè)表格richviewedit . insert item(table name,table)就是在當(dāng)前位置添加一個(gè)表格,不管光標(biāo)是在文檔中還是在表格或單元格中(無論光標(biāo)在哪里)。如果文檔是只讀的或處于受保護(hù)狀態(tài),使用此方法后將返回false。如果光標(biāo)在表格中,該方法將自動(dòng)釋放表格單元格的使用。單元格是表格的主要屬性。因?yàn)槊總€(gè)單元格相當(dāng)于一個(gè)richedit,所以用法類似于richedit,但是需要注意的是,這些用法一般只是相對(duì)于光標(biāo)當(dāng)前的位置,也就是說,如果光標(biāo)在表格中,同樣的方法是對(duì)表格的效果。如果是在表格之外,就是richedit的作用在外面,如果一個(gè)文檔中同時(shí)有多個(gè)表格,光標(biāo)在任何地方,你想在一個(gè)表格的一個(gè)單元格中輸入內(nèi)容,那么你必須自己判斷位置。這是因?yàn)楫?dāng)光標(biāo)點(diǎn)擊某處時(shí),richedit實(shí)際上已經(jīng)幫你確定了位置。那么,如何在文檔表格的指定單元格中輸入自己的內(nèi)容呢?假設(shè)有一個(gè)帶表格的文檔(自己想多個(gè)表格,方法是一樣的),這個(gè)表格有兩個(gè)單元格。現(xiàn)在我想輸入單詞 我愛你。;在第二個(gè)單元格中,光標(biāo)在任何地方。下面是i : = 0 to item count-1 do begin如果getitem (i)是trvtableitemfo那么begin rvdata: = trvtableitemfo(item)。單元格[0,1]。addnlatag( ;我愛你。;,0,0,破;結(jié)束;結(jié)束;如果你不 如果此時(shí)不知道有多少單元格,可以使用遍歷表格單元格的方法,如下所示。我想獲取rowcho 0-@ .com = 0到trvtableiteminfo (item)的文本。rowcount-1從col: = 0開始。列計(jì)數(shù)-1 do if表。單元格[row,col]nil然后開始rvdata := table。單元格[行,列]。getrvdata//獲取i : = 0到rvdata的第一個(gè)單元格的內(nèi)容。item count-1 do//開始遍歷網(wǎng)格中的元素,就像richedit,begin if (i0)和rvdata一樣。isfromnewline(i)then result : = result # 13 # 10;如果rvdata。getitemstyle(i)=rvstab然后result : = r:= r:=結(jié)果表。textcols:=結(jié)果表。textrowseparator//遍歷所有行的網(wǎng)格,將值相加,最終得到每個(gè)網(wǎng)格的值尾;
1.tsrvbutton繼承自tsrvcustomcontrol類,其屬性為:default: boolean類型,默認(rèn)值為false。當(dāng)用戶按下enter鍵時(shí),按鈕的onclick事件將被執(zhí)行。然而,有一個(gè)例外。如果當(dāng)前具有輸入焦點(diǎn)的控件是另一個(gè)按鈕,則當(dāng)按下enter鍵時(shí),只會(huì)執(zhí)行當(dāng)前按鈕的onclick事件。focusrectoffs:tpicture類型,默認(rèn)為空,指定顯示的圖像。modalresult:tmodalresult類型,默認(rèn)mrnone,模態(tài)值。當(dāng)我們單擊位圖按鈕時(shí),對(duì)話框的模態(tài)值將被設(shè)置為相同的值。它將決定位圖按鈕的父窗體是如何關(guān)閉的。如果單擊mbok按鈕,對(duì)話框?qū)㈥P(guān)閉,并返回mrok值。mouseborderwidth:整數(shù),默認(rèn)為2,邊長(zhǎng)。指定按下按鈕時(shí)圖標(biāo)和標(biāo)題移動(dòng)的距離。showfocusrect:布爾類型,默認(rèn)值為true,聚焦時(shí)顯示或隱藏虛線。事件:onclick,點(diǎn)擊觸發(fā)。2.tsrvcheckbox繼承自tsrvcustomcontrol類,其屬性為:allowgrayed: boolean類型,默認(rèn)為false,灰顯。選中:boolean類型,默認(rèn)為false,無論狀態(tài)是否選中,使用前必須將allowgrayed設(shè)置為true。state:tsrvcheckboxstate類型為,默認(rèn)為cbunchecked,表示復(fù)選框的當(dāng)前狀態(tài)。cbchecked表示選中,cbunchecked表示未選中,cbgrayedb表示灰顯。3.tsrvcombobox繼承自tsrvcustomcombobox類,該類是一個(gè)列表編輯框,可用于顯示圖像和提示信息,所有屬性和事件都繼承自tsrvcustomcombobox。4.tsrvedit繼承自tsrveditcontrol類,有一個(gè)文本輸入框和一個(gè)帶有可選彈出列表的提示框。它的屬性有:autosize: boolean類型,默認(rèn)為true,自動(dòng)調(diào)整大小。charcase:tsrveditcharcase,默認(rèn)srvecnormal,大寫和小寫狀態(tài)。dropdownhints: integer,默認(rèn)值為10,它定義了在提示符下顯示的項(xiàng)數(shù)。maxlength: integer,默認(rèn)為0,指定可以輸入的最大字符長(zhǎng)度,0表示無限制。passwordchar:char類型,默認(rèn)值#0,指定顯示的字符。設(shè)定后,將不會(huì)顯示輸入字符,而是顯示設(shè)定的字符。readonly: boolean類型,默認(rèn)為false,只讀。修改:布爾型;默認(rèn)為空;確定文本是否被修改。seltext:string,選擇指定的字符。事件:onchange:當(dāng)文本改變時(shí)發(fā)生。onedithints:當(dāng)顯示列表提示框時(shí)發(fā)生。onclosehints:當(dāng)列表提示框關(guān)閉時(shí)發(fā)生。5.tsrvgroupbox繼承自tsrvcustomcontrol類,其屬性為:bordercolor:tcolor type,默認(rèn)為$00b8d8d7,邊框顏色。borderwidth: integer,默認(rèn)值為1,以及側(cè)欄的線寬。captionoffset:整數(shù),默認(rèn)值為10,以及邊緣線到標(biāo)題的距離。cornersoffset:整數(shù),默認(rèn)值為10,以及邊圓角大小。6.tsrvimagessroll繼承自tsrvcustomcontrol類,用于顯示圖像列表。其性質(zhì)為:c。anmoveimages: boolean類型,默認(rèn)為true,是否可以用鼠標(biāo)移動(dòng)圖像。closebutton:為每個(gè)圖像定義關(guān)閉按鈕。doublebuffered:啟用雙緩沖。imagelist:連接一個(gè)圖像表進(jìn)行顯示??s進(jìn):縮進(jìn)距離。itemheight:圖像高度,itemindex:所選圖像的索引。項(xiàng)目:圖像對(duì)象。itemwidth:圖像很長(zhǎng)。種類:圖像放置。restrictmove:是否可以將圖像移動(dòng)到控件之外,并將預(yù)選設(shè)置canmoveimages設(shè)為true。間距:每幅圖像之間距離。itemborderstyle:圖像邊框樣式。itembordercolor:圖像的邊框顏色。itemcolor:圖像顏色。itemdowncolor:按下后的顏色。itemhotcolor:移動(dòng)到圖像的顏色。itemselectedcolor:選擇選定的顏色。decbuttonwidth:按鈕外觀樣式。largechange:單擊滾動(dòng)條后移動(dòng)的距離。scrollbarheight:滾動(dòng)條高度。scrollerposition:滾動(dòng)條位置。scrollingdelay:滾動(dòng)條速度。smallchange:單擊滾動(dòng)條上的箭頭,然后按按鈕移動(dòng)距離。事件:當(dāng)選擇onchang:圖像時(shí)發(fā)生。當(dāng)onit:中兩個(gè)圖像的位置改變時(shí)發(fā)生。當(dāng)onclos:關(guān)閉圖像時(shí)發(fā)生。ondraw border,ondraw background,ondrawitem,ondrawclos:自繪圖像,canvas as canvas,arect指定圖像位置,a patect重繪位置,可以使用該屬性優(yōu)化繪制方法。state對(duì)象狀態(tài),設(shè)置dodefault防止對(duì)象以默認(rèn)繪制。7.tsrvlabel繼承自tsrvgraphiccontrol,所有屬性和事件都繼承自tsrvgraphiccontrol。8.tsrvlistbox繼承自tsrvcustomlistbox,所有屬性和事件都繼承自tsrvcustomlistbox。9.tsrvpaintbox繼承自tsrvcanvascontrol,所有屬性和事件都繼承。tsrvcanvascontrol,用于提供畫布供程序使用。10.tsrvpanel繼承了tsrvcustomcontrol,這是一個(gè)通用的面板投訴。它的屬性是:bordercolor:邊框顏色。邊界寬度:邊界線的長(zhǎng)度。標(biāo)題偏移量:從邊框到標(biāo)題的距離。角偏移:圓角大小。11.tsrvradiobutton繼承自tsrvcustomcontrol,具有單個(gè)按鈕。其屬性為:已選中:是否選中。
。。savereg將rvstyle屬性保存到注冊(cè)文件中;
。。loadreg將rvstyle屬性加載到注冊(cè)文件中。
。。savecss保存。rvstyle樣式添加到css文件中。
。savecsstory。保存。rvstyle樣式作為css文件,然后將其保存到流中。
rvstyle事件
。。ondrawcheckpoint繪制檢查點(diǎn);
。。ondrawpagebreak-畫一條分界線;
ondrawrapparaback–繪制段落的背景;
。ondrawtextback–繪制文本背景;
。onapplystyle–將文本類型保存到畫布;
。onapplystylecolor–將文本顏色保存到畫布上;
。ondrawstyletext–指定的文本類型;
。onstylehoversive–當(dāng)鼠標(biāo)移入或移出指定的文本類型時(shí)重繪樣式;
2.trichview trichview組件主要用于顯示文檔內(nèi)容,包括圖片、表格、文字,甚至其他組件。trvstyle(前面介紹過)使用前必須關(guān)聯(lián),沒有關(guān)聯(lián)就無法顯示。trichview有一個(gè)重要的屬性設(shè)置,在其中可以設(shè)置一些重要的參數(shù)。三視圖屬性、事件、方法;。style–與trvstyle關(guān)聯(lián)。選項(xiàng)——一些重要的操作(后面會(huì)討論);。item count-文檔中元素的數(shù)量..backgroundbitmap-文檔背景圖片。background style-文檔背景圖片顯示樣式。顏色。文檔背景色。firstjumpno給第一個(gè)超文本添加一個(gè)id號(hào);trichview插入事件;。addnl添加文本元素;。addbreakex增加分隔線;。addpictureex添加圖片;。addhotpicture添加熱門圖片;。addcontrolex添加組件;。add在文本后添加字符;。addfmt增加了特征格式字符集。清除清除文檔內(nèi)容。format,formattail格式化文檔內(nèi)容;。重新格式化重新格式化文檔;。當(dāng)光標(biāo)單擊超鏈接時(shí)發(fā)生onjump。onrvmousemove在光標(biāo)移動(dòng)到超鏈接時(shí)發(fā)生;。getjumppointitemno跳轉(zhuǎn)到具有指定id號(hào)的元素;左邊距、右邊距、上邊距和下邊距;maxtextwidth最長(zhǎng)的行(字符數(shù));mintextwidth最短的行(字符數(shù));。documentheight文檔高;。valign垂直對(duì)齊;。vscrollvisible垂直滑塊開關(guān);。水平滑動(dòng)桿開關(guān);。垂直滑桿的vsmallstep滑動(dòng)幅度;。onvscrolled垂直滑塊事件;。onhscrolled水平滑塊事件;。復(fù)制將所選內(nèi)容復(fù)制到剪貼板;。copydef選擇模式將所選內(nèi)容復(fù)制到剪貼板;。copyimage將所選圖片復(fù)制到剪貼板;。copytexta將所選內(nèi)容以文本形式復(fù)制到剪貼板;。copytextw以u(píng)nicode格式將所選內(nèi)容復(fù)制到剪貼板;。copyrvf以rvf格式將所選內(nèi)容復(fù)制到剪貼板;。copyrtf以rtf格式將所選內(nèi)容復(fù)制到剪貼板;。getselectedimage返回選中的圖片;。getseltext返回選定的文本;。getseltextw將所選內(nèi)容作為unicode字符返回;。選擇全部全選;。setselectionbounds選擇指定的元素;。selectwordat在指定坐標(biāo)處選擇一個(gè)字符;。selectcontrol選擇一個(gè)可視組件;。取消選擇以取消選擇;。rvfoptions加載和保存rvf風(fēng)格的一些操作;。rvfwarnings閱讀rvf風(fēng)格的一些錯(cuò)誤;。savervf以rvf格式保存文檔;。savervftostream將文檔保存為rvf格式,然后保存到流中;。loadrvf裝載rvf檔案;。loadrvffromstream從流中加載rvf文件;。將rvf文檔復(fù)制到剪貼板;。insertrvffromstream從流中添加rvf文檔;。loadfromstream從流中加載rvf、rtf或文本格式的文件;。loadtext從文件中添加文本;。loadtextw從unicode編碼文件添加文本;。loadrtf加載rtf。savehtml以html格式保存文檔;savehtmlex以html格式保存文檔。使用css樣式;。savehttmltostream,savehttmltostreamex方法同上,只是保存到流中,而不是直接作為文檔保存;。savetext保存為文本文件;。savetextw保存為unicode文件;。savetextstream,save text stream-可以選擇保存到流中;。savertf可以選擇保存為rtf格式;。savertftostream可以有選擇地以rtf格式保存到流中..getitemstyle返回元素的類型;。gettextinfo返回文本元素的信息;。getbreakinfo返回分隔線信息;。getbulletinfo返回項(xiàng)目符號(hào)信息;。gethotspotinfo返回?zé)狳c(diǎn)信息;。getpictureinfo返回圖片或熱門圖片信息;。getcontrolinfo返回組件信息;。getitemextrainproperty,getitemextrastproperty返回元素的額外屬性值;。getitem通用方法,主要用于表格;。getitemcheckpoint返回元素的檢查點(diǎn);。getitemvalign返回元素位置;。getitemtag返回元素的標(biāo)簽;。getitemtext返回元素內(nèi)容;。isparastart返回它是否是第一個(gè)元素;。isfromnewline返回它是否是第一個(gè)元素;
trichviewedit trichviewedit主要用于編輯文本內(nèi)容,如圖片、文字、表格、控件等。如果沒有rvstyle,trichviewedit就是property,event,method list(用法后面會(huì)介紹)屬性curite,不能顯示或編輯任何內(nèi)容。mno–當(dāng)前元素編號(hào)curitemstyle–當(dāng)前元素類型curparastyleno–當(dāng)前段落樣式類型編號(hào)curtextstyleno–當(dāng)前文本樣式編號(hào)編輯器選項(xiàng)–設(shè)置一些編輯選項(xiàng)。只讀內(nèi)容是否可編輯,或只讀修改-內(nèi)容是否已修改customcaretinterval-自定義字符重繪間隔事件onchange觸發(fā)oncurparastylechanged當(dāng)文檔內(nèi)容更改時(shí),oncurtextstylechanged當(dāng)當(dāng)前段落樣式更改時(shí),onpaste允許粘貼當(dāng)當(dāng)前文本樣式更改時(shí)。粘貼onstyleconversion以更改選定的文本樣式onparastyleconversion以更改段落樣式oncaretgetout以在字符超出邊界時(shí)觸發(fā)oncaretmove,并在字符移動(dòng)時(shí)觸發(fā)onitemtextedit。當(dāng)文本類型元素的文本內(nèi)容改變時(shí),onsmartpopupclick彈出。菜單onmeasurecustomcaret和ondrawcustomcaret替換字符的常用方法applyparastyle、applytextstyle保存文本樣式applystyleconversion保存所選文本的樣式apply樣式轉(zhuǎn)換保存所選段落的樣式更改文檔內(nèi)容更改事件beginupdate、endupdate重畫/刷新searchtext、-a、-w查找字符的常用插入方法inserttext、-a、-w、insertstringtag、insertstringtag插入文本插入分隔符插入行插入項(xiàng)目符號(hào)插入項(xiàng)目符號(hào)插入控件插入組件插入熱點(diǎn)插入圖片插入熱點(diǎn)圖片插入熱點(diǎn)圖片插入超文本鏈接圖片插入選項(xiàng)卡表鍵inserttextfromfile,i,insertrvfromstreated從文件或流中插入rvf格式的文件,insertrvfromstreated從文件或流中插入rtf格式的文件nsertoemtextfromfile從文件插入字符插入項(xiàng)插入元素的常用方法剪貼板操作(主方法和事件)canpaste canpaste允許您從剪貼板粘貼canpastervf嗎?canpastertf允許你從剪貼板粘貼rtf內(nèi)容?cutdef被切割到表面。但是,粘貼位圖粘貼圖片粘貼圖元文件粘貼圖形組件粘貼圖形文件粘貼圖形組件粘貼vf pastervf格式內(nèi)容粘貼tf pastertf格式內(nèi)容粘貼文本a粘貼ansi格式內(nèi)容粘貼剪貼板中的文本剪切。將unicode格式的內(nèi)容粘貼到剪貼板上刪除選擇刪除所選內(nèi)容選擇當(dāng)前世界選擇當(dāng)前內(nèi)容選擇當(dāng)前行選擇當(dāng)前行的常用編輯元素方法setbreakinfoed更改水平線setbulletinfoed更改項(xiàng)目符號(hào)setcontrolinfoed。更改組件sethotspotinfoed更改熱點(diǎn)setpictureinfoed更改圖片setitemextraintpropertyed,setitemextrapropertyed已編輯元素屬性setitemtaged已編輯元素標(biāo)簽setitemvaligned已調(diào)整元素相對(duì)位置setitemtexted已更改元素名稱setcheckpointinfoed已編輯檢查點(diǎn)移除檢查點(diǎn)已刪除檢查點(diǎn)大小控制調(diào)整組件adjustcontrolplacement,adjustcontrolplacement2自動(dòng)調(diào)整組件位置以獲取元素信息方法getcurrenttextinfo獲取文本信息getcurrentbreakinfo獲取行元素信息getcurrentbulletin獲取項(xiàng)目currenthotspotinfo熱點(diǎn)信息getcurrentpictureinfo圖片信息getcurrentitem,getcurrentitemex。未知類型元素信息getcurrentitemextraint屬性。astrproperty返回指定的元素屬性值getcurrenttag返回元素標(biāo)簽getcurrentitemvalign返回元素的水平位置getcurrentcheckpoint返回元素檢查點(diǎn)getcurrenttextreturns元素名稱getcurrentlinecol返回當(dāng)前位置的行和列。undo和restore undo limit set undo buffer undo action return undo上一次操作undoname return undo操作redoaction return redo重做恢復(fù)上一次撤消操作redoname return restore操作clearundo clear undo和restore buffer unicode操作p astetextw從剪貼板復(fù)制unicode文本inserttextw插入unicode文本inserttextfromfilew從文件插入unicode文本拼寫getcurrentmisspelling返回當(dāng)前位置的錯(cuò)誤單詞livespellingmode拼寫檢查點(diǎn)setche。ckpointinfoed向特殊元素添加檢查點(diǎn)removecheckpointeds向特殊元素添加檢查點(diǎn)removecurrentcheckpoint返回當(dāng)前元素的檢查點(diǎn)setcurrentcheckpointinfo添加或編輯當(dāng)前元素的檢查點(diǎn)remove check point刪除當(dāng)前元素插入前的檢查點(diǎn)檢查點(diǎn)在當(dāng)前位置添加檢查點(diǎn)getcheckpointatcaret返回當(dāng)前位置的檢查點(diǎn)removecheckpointatcaret刪除當(dāng)前檢查點(diǎn)。
tdbrichview tdbrichviewedit trv print trv print preview、trvreporthelpertdbrichview、tdbrichviewedit主要用于顯示和編輯數(shù)據(jù)感知的內(nèi)容,就像richview、dbrichview和dbrichviewedit除非與rvstyle關(guān)聯(lián),否則不能顯示任何內(nèi)容。tdbrichview,dbrichviewedit支持以下類型的rvf richview文件類型rtf richview文本類型text others other trvprint主要用于打印richview文檔,運(yùn)行時(shí)不可見。使用方法1指定您想要打印內(nèi)容2指定頁(yè)眉或頁(yè)腳3設(shè)置內(nèi)容格式4打印或預(yù)覽5釋放內(nèi)存事件方法on格式化觸發(fā)器on發(fā)送在頁(yè)面預(yù)打印和頁(yè)面后打印上打印觸發(fā)器允許您在每一頁(yè)上重新繪制打印組件打印組件頁(yè)面。邊距l(xiāng)eftmarginmm左邊距rightmarginmm右邊距topmarginmm bottommarginmm這里的下邊距與編輯文檔時(shí)的邊距不同。一個(gè)用于頁(yè)面,另一個(gè)用于文檔trvprintpreview。要預(yù)覽文檔,必須首先關(guān)聯(lián)trvprint。打印設(shè)置也準(zhǔn)備好了。trv porthelper類似于trvprint,將文檔發(fā)送到打印機(jī),而trv porthelper將文檔發(fā)送到任何畫布進(jìn)行顯示,如屏幕、打印機(jī)、圖像等。trv office服務(wù)轉(zhuǎn)換器允許在richview中使用microsoft office(32位版本)文本格式。
scalerichviewscalerichview是trichview的一個(gè)插件,使用trichview引擎來呈現(xiàn)文檔。scalerichview上的文檔實(shí)際上是一個(gè)隱藏的richviewedit,所以你可以像rihcview一樣使用scalerichview。在安裝scalerichview之前,必須安裝trihcview。通常在開發(fā)過程中,都是以richview scalerichview的進(jìn)行開發(fā)。介紹了scalerichview的主要功能。1支持所有richview功能。2所見即所得。3快速編碼。4支持近120種文檔格式。5支持打印不同的文檔樣式,如編輯文檔時(shí)使用a4樣式。打印時(shí)可選擇a5樣式,6頁(yè)面定位,7支持多種部署模式,8滾動(dòng)scalerichview組件介紹(后面會(huì)詳細(xì)介紹后面的類),1 tsrichviewedit可以所見即所得的編輯文檔,支持多種頁(yè)面瀏覽模式。包括頁(yè)面查看模式2 tdbsrichviewedit和tsrichviewedit,只用于數(shù)據(jù)感,也是所見即所得的標(biāo)尺,橫向和縱向,繼承trv。規(guī)則4 tsrvtoolbar工具欄5 tsrvtoolwindow彈出窗口,可以放工具欄6 tsrvpagescroll顯示文檔縮略圖7 tsrvprint打印文檔8 tsrvpreview瀏覽文檔tsrichviewedittsrichviewedit主要用于處理文本內(nèi)容。以下是一些常見的屬性和方法。事件屬性:richviewedit:返回一個(gè)trichviewedit組件,然后通過trichviewedit的一個(gè)屬性方法操作文檔。默認(rèn)情況下,tsrichviewedit使用內(nèi)部trichviewedit。如果要使用自定義的trichviewedit,只要關(guān)聯(lián)tsrichviewedit的externalrv屬性,如果要使用自定義的trvstyle,那么只需要將其與其externalrvsytle關(guān)聯(lián)即可。rvheader編輯器rvfooter頁(yè)腳編輯器rvnote頁(yè)腳和尾注編輯器頁(yè)面屬性相關(guān)頁(yè)面屬性視圖屬性視圖模式背景屬性下面的一些屬性提供對(duì)richviewedit的訪問。性別和用法和richviewedit一樣,前面已經(jīng)提過了,所以我贏了 這里不談,屬性名也一樣。該屬性也可以應(yīng)用于其他編輯器。動(dòng)畫模式。雙向模式。cpeventbind。只讀。rtfoptions。rtfreadproperties。rvbackgroundbitmap。rvbackgroundstyle。rvcolor。rveditor。選項(xiàng)。rvfoptions。rvfparastylesreadmode。rvftextstylesreadmode。rvoptions。smartpopupproperties,smartpopupvisible。tabnavigation下列屬性是hscrollpos設(shè)置,允許您在編輯時(shí)更改屬性值或獲取滾動(dòng)位置。hscrollbar和vscrollbar顯示或隱藏滾動(dòng)事件scrolledpage return上的滾動(dòng)條。返回首頁(yè)菜單按鈕和菜單水平菜單設(shè)置菜單按鈕和菜單。垂直菜單設(shè)置方法convertrvtosrv和convertsrvtorv允許在tsrichviewedit和richviewedit之間進(jìn)行位置轉(zhuǎn)換。getpageclientrect返回頁(yè)面的位置。getitembounds返回頁(yè)面元素的位置。getcaretposinunits返回當(dāng)前。location getpageat返回指定位置的頁(yè)面getitemat返回指定位置的元素unitsperinchv以允許單元格之間的坐標(biāo)轉(zhuǎn)換findnext hyperlink/find prior hyperlink查找超鏈接findnext check point/find prior check point查找檢查點(diǎn)findnextitem/findprioritem查找元素findnext heading/find prior heading查找標(biāo)題nextcur hyperlink/prior cour hyperlink選擇超鏈接nextcurcheck point/prior check point選擇檢查點(diǎn)nextcuritem/priorcuritem選擇元素nextcurheading/prior標(biāo)題移動(dòng)到當(dāng)前標(biāo)題范圍查找第一個(gè)cur頁(yè)光標(biāo)移動(dòng)ntrange打印指定范圍的內(nèi)容。minprinteditemno和maxprinteditemno允許打印指定元素之間的drawpage和drawmetafile。允許文檔顯示在其他畫布或圖元上。當(dāng)pageproperty和pageformat屬性更改時(shí),onpageformatchanged事件;當(dāng)viewproperty屬性更改時(shí),onchangeviewmodeafter事件;當(dāng)viewmode屬性更改時(shí),onchangeviewmodebefore事件;當(dāng)viewproperty屬性更改時(shí),onzoomchanged事件。zoompercent或者。zoommode屬性在當(dāng)前發(fā)生時(shí)更改。onpagecountchanged在pagechange移動(dòng)到其他頁(yè)面時(shí)發(fā)生。當(dāng)文檔中的頁(yè)數(shù)發(fā)生變化時(shí),會(huì)發(fā)生onclickpage。onpaintpage在單擊頁(yè)面后發(fā)生。如果默認(rèn)方法無法完全顯示,可以使用此方法顯示控件onpaint以顯示其他oncheckcontrol枚舉,這樣添加的控件onmessagecontrol允許添加的控件響應(yīng)消息ongetpagepos允許您自定義頁(yè)表圖標(biāo)的位置和順序。首先,將viewproperty的usetableicons屬性設(shè)置為true,當(dāng)用戶將光標(biāo)移動(dòng)到表格上時(shí),表格的左上角會(huì)顯示一個(gè)小圖標(biāo)。當(dāng)光標(biāo)被移除時(shí),圖標(biāo)將消失,并且將觸發(fā)ontableiconclick事件。
table table是richview中的一個(gè)特殊元素,也是richview中元素中最復(fù)雜的一個(gè)。表格由單元格組成。在richview中,每個(gè)單元格相當(dāng)于一個(gè)richview文檔,其中可以包含各種元素,如表格。理論上,表格可以無限嵌套,這就導(dǎo)致了它的復(fù)雜性。表格屬性borderwidth表格邊框長(zhǎng)度邊框樣式邊框樣式邊框顏色邊框顏色邊框顏色3d外觀邊框顏色可視邊框顯示和隱藏單元格邊框?qū)挾葐卧襁吙蜷L(zhǎng)度單元格邊框樣式單元格邊框樣式。單元格邊框顏色單元格邊框顏色單元格邊框顏色3d外觀單元格邊框顏色單元格之間的水平距離間距單元格之間的垂直距離間距單元格邊框之間的水平距離間距表格邊框和表格邊框最外側(cè)單元格間距表格邊框顏色表格和表格最外側(cè)單元格之間的垂直距離;顏色表的背景色;背景圖像;backgroundstylebackgroundimagefilename背景圖像的名稱保存在html中;table方法insertcolsleft列insertcolsright被添加到當(dāng)前單元格的左側(cè);和電流。添加列插入行在單元格右側(cè)添加行插入行在當(dāng)前單元格下方添加行刪除選定列d到當(dāng)前單元格。刪除選定的行刪除選定的行合并選定的單元格合并選定的單元格合并選定的單元格拆分單元格拆分選定的單元格短時(shí)間將選定的單元格拆分成幾行拆分選定的單元格垂直拆分選定的單元格。分成幾列插入列指定位置添加列插入行指定位置添加行刪除列刪除指定列刪除指定行合并單元格合并指定范圍內(nèi)的單元格取消合并單元格拆分指定范圍內(nèi)的單元格刪除所有空單元格刪除行。eemptycols刪除所有包含空單元格的列...vartable:trvtabl:= trvtableiteminfo。createex(rowcount,columncount,rvdata);rvdata是要在其中創(chuàng)建表格的文檔,通常指的是richview。rvdata或richviewedit。rvdata
添加表格。parano: = paragraphstyleindexrichview。additem (table name,table) paragraphstyleindex是該表的索引值,是一個(gè)字符串,不是該對(duì)象的名稱。在顯示文檔之前,不需要重新格式化此方法。
在richviewedit中添加一個(gè)表格richviewedit . insert item(table name,table)就是在當(dāng)前位置添加一個(gè)表格,不管光標(biāo)是在文檔中還是在表格或單元格中(無論光標(biāo)在哪里)。如果文檔是只讀的或處于受保護(hù)狀態(tài),使用此方法后將返回false。如果光標(biāo)在表格中,該方法將自動(dòng)釋放表格單元格的使用。單元格是表格的主要屬性,因?yàn)槊總€(gè)單元格相當(dāng)于一個(gè)richedit,所以用法類似于richedit。但需要注意的是,這些用法一般只是相對(duì)于光標(biāo)當(dāng)前的位置,也就是說,如果光標(biāo)在表格中,同樣的方法是對(duì)表格的效果。如果是表外的,就是表外對(duì)richedit的影響。如果一個(gè)文檔中同時(shí)有多個(gè),當(dāng)您在表格中時(shí),光標(biāo)在任何地方。當(dāng)你想在表格的某個(gè)單元格中輸入內(nèi)容時(shí),你要自己判斷位置。這是因?yàn)楫?dāng)光標(biāo)點(diǎn)擊某處時(shí),richedit實(shí)際上已經(jīng)幫你確定了位置。那么,如何在文檔表格的指定單元格中輸入自己的內(nèi)容呢?假設(shè)有一個(gè)帶表格的文檔(自己想多個(gè)表格,方法是一樣的),這個(gè)表格有兩個(gè)單元格?,F(xiàn)在我想輸入單詞 我愛你。;在第二個(gè)單元格中,光標(biāo)在任何地方。下面是i : = 0 to item count-1 do begin如果getitem (i)是trvtableitemfo那么begin rvdata: = trvtableitemfo(item)。單元格[0,1]。addnlatag( ;我愛你。;,0,0,破;結(jié)束;結(jié)束;如果你不 此時(shí)不知道有多少單元格,可以用遍歷表格單元格的方法,如下,我想得到表格,每個(gè)單元格中的文本為rowcho 0-@ .com = 0到trvtableiteminfo (item)。rowcount-1從col: = 0開始。列計(jì)數(shù)-1 do if表。cells [row,col]nil然后開始rvdata := table。單元格[行,列]。getrvdata//獲取i : = 0到rvdata的第一個(gè)單元格的內(nèi)容。item count-1 do//開始遍歷網(wǎng)格中的元素,就像richedit,begin if (i0)和rvdata一樣。isfromnewline(i)then result : = result # 13 # 10;如果rvdata。getitemstyle(i)=rvstab然后result : = r:= r:=結(jié)果表。textcols:=結(jié)果表。textrowseparator//遍歷所有行的網(wǎng)格,將值相加,最終得到每個(gè)網(wǎng)格的值尾;
1.tsrvbutton繼承自tsrvcustomcontrol類,其屬性為:default: boolean類型,默認(rèn)值為false。當(dāng)用戶按下enter鍵時(shí),按鈕的onclick事件將被執(zhí)行。然而,有一個(gè)例外。如果當(dāng)前具有輸入焦點(diǎn)的控件是另一個(gè)按鈕,則當(dāng)按下enter鍵時(shí),只會(huì)執(zhí)行當(dāng)前按鈕的onclick事件。focusrectoffs:tpicture類型,默認(rèn)為空,指定顯示的圖像。modalresult:tmodalresult類型,默認(rèn)mrnone,模態(tài)值。當(dāng)我們單擊位圖按鈕時(shí),對(duì)話框的模態(tài)值將被設(shè)置為相同的值。它將決定位圖按鈕的父窗體是如何關(guān)閉的。如果單擊mbok按鈕,對(duì)話框?qū)㈥P(guān)閉,并返回mrok值。mouseborderwidth:整數(shù),默認(rèn)為2,邊長(zhǎng)。指定按下按鈕時(shí)圖標(biāo)和標(biāo)題移動(dòng)的距離。showfocusrect: boolean類型,默認(rèn)為true,聚焦時(shí)顯示或隱藏虛線。事件:onclick,點(diǎn)擊觸發(fā)。2.tsrvcheckbox繼承自tsrvcustomcontrol類,其屬性為:allowgrayed: boolean類型,默認(rèn)為false,灰顯。選中:boolean類型,默認(rèn)為false,無論狀態(tài)是否選中,使用前必須將allowgrayed設(shè)置為true。state:tsrvcheckboxstate類型為,默認(rèn)為cbunchecked,表示復(fù)選框的當(dāng)前狀態(tài)。cbchecked表示選中,cbunchecked表示未選中,cbgrayedb表示灰顯。3.tsrvcombobox繼承自tsrvcustomcombobox類,該類是一個(gè)列表編輯框,可用于顯示圖像和提示信息,所有屬性和事件都繼承自tsrvcustomcombobox。4.tsrvedit繼承自tsrveditcontrol類,有一個(gè)文本輸入框和一個(gè)帶有可選彈出列表的提示框。它的屬性它們是:autosize: boolean類型,默認(rèn)為true,以及自動(dòng)調(diào)整大小。charcase:tsrveditcharcase,默認(rèn)srvecnormal,大寫和小寫狀態(tài)。dropdownhints: integer,默認(rèn)值為10,它定義了在提示符下顯示的項(xiàng)數(shù)。maxlength: integer,默認(rèn)為0,指定可以輸入的最大字符長(zhǎng)度,0表示無限制。passwordchar:char類型,默認(rèn)值#0,指定顯示的字符。設(shè)定后,將不會(huì)顯示輸入字符,而是顯示設(shè)定的字符。readonly: boolean類型,默認(rèn)為false,只讀。修改:布爾型;默認(rèn)為空;確定文本是否被修改。seltext:string,選擇指定的字符。事件:onchange:當(dāng)文本改變時(shí)發(fā)生。onedithints:當(dāng)顯示列表提示框時(shí)發(fā)生。onclosehints:當(dāng)列表提示框關(guān)閉時(shí)發(fā)生。5.tsrvgroupbox繼承自tsrvcustomcontrol類,其屬性為:bordercolor:tcolor type,默認(rèn)為$00b8d8d7,邊框顏色。borderwidth: integer,默認(rèn)值為1,以及側(cè)欄的線寬。captionoffset:整數(shù),默認(rèn)值為10,以及邊緣線到標(biāo)題的距離。cornersoffset:整數(shù),默認(rèn)值為10,以及邊圓角大小。6.tsrvimagessroll繼承自tsrvcustomcontrol類,用于顯示圖像列表。它的屬性有:canmoveimages: boolean類型,默認(rèn)為true,圖像是否可以用鼠標(biāo)移動(dòng)。closebutton:為每個(gè)圖像定義關(guān)閉按鈕。doublebuffered:啟用雙緩沖。imagelist:連接一個(gè)圖像表進(jìn)行顯示??s進(jìn):縮進(jìn)距離。itemheight:圖像高度,itemindex:所選圖像的索引。項(xiàng)目:圖像對(duì)象。itemwidth:圖像很長(zhǎng)。種類:圖像放置。restrictmove:是否可以將圖像移動(dòng)到控件之外,并將預(yù)選設(shè)置canmoveimages設(shè)為true。間距:每幅圖像之間距離。itemborderstyle:圖像邊框樣式。itembordercolor:圖像的邊框顏色。itemcolor:圖像顏色。itemdowncolor:按下后的顏色。itemhotcolor:移動(dòng)到圖像的顏色。itemselectedcolor:選擇選定的顏色。德布特tonwidth:按鈕外觀樣式。largechange:單擊滾動(dòng)條后移動(dòng)的距離。scrollbarheight:滾動(dòng)條高度。scrollerposition:滾動(dòng)條位置。scrollingdelay:滾動(dòng)條速度。smallchange:單擊滾動(dòng)條上的箭頭,然后按按鈕移動(dòng)距離。事件:當(dāng)選擇onchang:圖像時(shí)發(fā)生。當(dāng)onit:中兩個(gè)圖像的位置改變時(shí)發(fā)生。當(dāng)onclos:關(guān)閉圖像時(shí)發(fā)生。ondraw border,ondraw background,ondrawitem,ondrawclos:自繪圖像,canvas as canvas,arect指定圖像位置,a patect重繪位置,可以使用該屬性優(yōu)化繪制方法。state對(duì)象狀態(tài),設(shè)置dodefault防止對(duì)象以默認(rèn)繪制。7.tsrvlabel繼承自tsrvgraphiccontrol,所有屬性和事件都繼承自tsrvgraphiccontrol。8.tsrvlistbox繼承自tsrvcustomlistbox,所有屬性和事件都繼承自tsrvcustomlistbox。9.tsrvpaintbox繼承自tsrvcanvascontrol,所有屬性和事件都繼承自tsrvcanvascontrol,以提供畫布供程序使用。10.tsrvpanel繼承了tsrvcustomcontrol,這是一個(gè)通用的面板投訴。它的屬性是:bordercolor:邊框顏色。邊界寬度:邊界線的長(zhǎng)度。標(biāo)題偏移量:從邊框到標(biāo)題的距離。角偏移:圓角大小。11.tsrvradiobutton繼承自tsrvcustomcontrol,具有單個(gè)按鈕。其屬性為:已選中:是否選中。
從一行開始,繼續(xù)鍵入當(dāng)前頁(yè)面環(huán)境:
windwos7旗艦版;
delphixe2 update2
richview版本13.10.1
原則:
在它最終被送到打印畫布之前,要打印的內(nèi)容(畫布上的圖片)被處理,即獲得要打印的起始行的位置,這個(gè)位置之前的一切都被 彩繪 白色;
實(shí)施步驟:
1.在tsrichviewedit中添加兩個(gè)變量。
//繼續(xù)到達(dá)起始位置coloregg 2012-7-6 23 : 20 : 48
us:布爾;//初始化為fals:整數(shù);//初始化為0
在paintpage中,處理連續(xù)鍵入的最終效果。
具體偽代碼如下,以coloregg的注釋為改動(dòng)。
過程tsrichvi:整數(shù);canvas:·特坎瓦斯;
scalex,scal:單曲;rcli:·特里克;
offs:整數(shù);printing:布爾);
定義變量
…
開始
…
與舊的一樣
hregion : = createrectrgn(left,top,right,bottom);
selectcliprgn(畫布。handle,hregion);
delete object(hregion);
結(jié)束;
如果不使用sequelprint,則//正常著色打印。
開始
//繪圖頁(yè)碼
if (fpageproperty。fpageviewmode)和(不是fpageproperty。showpagebreaks)和
fpageproperty。pagenovisible和(pageno = fpageproperty。fpagenofirst)和
(不打印或正在打印范圍(pageenditemno[pageno - 1]))然后
開始
…
結(jié)束;
{ $ ifndef rvdonotuseseq }
if(pagestartdrawitemno[page no-1]-1)然后
…
如果不是公關(guān)inting或isinprintingrange(pageenditemno[pageno-1])然后
…
{$endif}
如果沒有打印或正在打印范圍(pagestartiteno[pageno-1]),則
開始
…
結(jié)束;
如果已分配(fonpaintpage)并且
(不打印或正在打印范圍(pageenditemno[pageno - 1]))然后
開始
…
結(jié)束;
結(jié)束
else // coloregg處理繼續(xù)。
開始
tmp : = paint rect;
tmp。底: = sequelpos;
畫布。fill rect(tmp);
結(jié)束;
// setworldtransform(畫布。handle,old xform);
restorecanvaszoom(canvas,old info);
結(jié)束;
與原代碼有11行不同,包括begin、else和end所占的行。
2.在逐行按下按鈕的情況下寫入。
程序tform1.btnprintcurlineclick(s:拒絕);
定義變量
vpt: t point;
vdocms:·特默里斯特倫;
開始
嘗試
vdo cms : = tmemorystream。創(chuàng)建;
斯?fàn)栱f多克。richviewedit . savervftostream(vdo cms,false);
vdocms。position : = 0;
srvedocprint。loadrvffromstream(vdo cms);
srvedocprint。current page : = srvedoc。當(dāng)前頁(yè)面;
vpt := srvedoc。caretpos
srvedocprint。usesequelprint : = true;
srvedocprint。s:= vpt。y;
srvedocprint。打印當(dāng)前;
最后
freeandnil(vdo cms);
結(jié)束;
結(jié)束;
其中srvedoc是用于編輯的tsrichviewedit,srvedocprint是用于打印的tsrichviewedit。在這個(gè)例子中,這樣做的原因是一些 硬 打印時(shí)應(yīng)在頁(yè)面上進(jìn)行處理。如果使用與編輯器相同的,會(huì)影響編輯器看到的內(nèi)容,這樣通過添加不到20行的代碼,就可以簡(jiǎn)單地從指定的行繼續(xù)鍵入。
有問題:
以上僅適用于從指定的文本行打印當(dāng)前頁(yè)面。如果繼續(xù)從表中鍵入指定的行,它將被偏移,需要以另一種處理,這超出了本示例的范圍。
標(biāo)簽:
屬性文檔
了解更多delphi用戶界面相關(guān)內(nèi)容請(qǐng)關(guān)注本站點(diǎn)。