午夜在线视频一区二区-亚洲一区成人免费电影-超碰欧美一区二区三区-大香蕉大香蕉日本大香蕉

| 項目咨詢 |積分體系 | 加入收藏 | 設為首頁 | RSS
您當前的位置:首頁 > 市場 > 百科 > 技術 > 夸父專欄

基于RICHVIEW的EMR開發文檔十

時間:2013-10-08 20:45:23  來源:  作者:
更多

 http://blog.sina.com.cn/game7788

   夸父
何為覆蓋模式?
當我們在編輯文檔或者寫代碼時,經常會按到電腦上的insert按鍵來改變輸入模式,正常情況下我們都是用的insert模式,當改變成overwrite模式下,會發現我們輸入字符后不再自動退格,而是直接覆蓋前面文字,按回車也不會自動增加新行!richview本身并沒有支持overwrite模式,下面代碼通過健盤的輸入事件簡單的實現這個功能。
var rve: TCustomRichViewEdit;
    ItemNo, Offs: Integer;
begin
  if IgnoreNextChar then begin //全局變量,判斷當前item是否為空
    IgnoreNextChar := False;//如果是就退出
    exit;
  end;
  IgnoreNextChar := False;
  if not ((Key=#9) or (Key>=' ')) then 只處理數字健和字母健,如果為狀態健也退出
    exit;
  rve := RichViewEdit1.TopLevelEditor;
  if rve.SelectionExists then
    exit;
  ItemNo := rve.CurItemNo;
  Offs  := rve.OffsetInCurItem;//得到當前光標所在位置
  if (Offs>=rve.GetOffsAfterItem(ItemNo)) then begin //判斷光標是否在最后面,則直接繪制
    if (ItemNo+1
       not rve.IsFromNewLine(ItemNo+1) then begin 
      inc(ItemNo); 
      Offs := rve.GetOffsBeforeItem(ItemNo); 
      end 
    else 
      exit; 
  end; 
  rve.SetSelectionBounds(ItemNo, Offs, ItemNo, Offs+1); 選中當前光標到光標前一位,輸入后實現覆蓋
  rve.Invalidate; 
end; 
來頂一下
返回首頁
返回首頁
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
欄目更新
欄目熱門