線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1358
推到 Plurk!
推到 Facebook!

Delphi中RichEdit的奧妙

 
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-21 18:33:28 IP:61.64.xxx.xxx 未訂閱
Delphi中RichEdit的奧妙 http://www.w555.com/pc/jiaocheng/program/delphi/018.htm 一、如何得知當前行號 用RichEdit(或者memo)控制項製作文本編輯器時,通過訪問linesPcount屬性可以得到總行數,但是若想知道游標當前所在行的行號就麻煩了,因爲delphi沒有提供這個屬性。要實現這個編輯器必備功能,就須調用em_ LineFromChar。請試試下面的程式。 先在窗口中佈置一個RichEdit或者memo(命名爲editor),以及一個button。在button的onclick事件中寫入下列代碼。 var CurrentLine:Integer; begin CurrentLine:=EditorPPerform(em_ LineFromChar,SFFFF,0); ApplicationPMessageBox(PChar(′當前行號是′+IntToStr(CurrentLine)),′消息′,mb_ iconinformation); end; 需要注意的是,第一行的行號爲零。 二、如何撤消操作(undo) 對於memo來說,實現undo是不需編程的,只要讓popupmenu屬性爲空,運行時就能用滑鼠右鍵啟動一個常用操作功能表,其中包括撤消、剪切、複製、粘貼、刪除和全選六項。 但可惜的是,這一招對於功能強大的RichEdit控制項居然行不通,害得我們還要自己設計一個popupmemu。當你用CutToClipBoard等語句輕鬆而順利地完成了“剪切”等功能,接著便會無奈地發現,竟找不到undo或cancel之類的語句來執行“撤消”。 這時你需要這樣處理: RichEdit1PPerform(EM_UNDO,0,0); 另外還應檢查是否允許撤消,從而開啓或關閉彈出功能表中的“撤消”項: Undo1PEnabled:=RichEditPPerform(EM_CANUNDO,0,0)<>0; 以上程式在Delphi3中調試通過。 (上海 汪 箴) 返回 ********************************************************* 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together! 希望能大家敞開心胸,將知識寶庫結合一起
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
系統時間:2024-05-06 14:07:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!