天天干一干-日本一区二区三区免费播放视频站-亚洲人禽杂交av片久久-国产日韩网站-奇米网888-免费一级全黄少妇性色生活片-一二三区视频在线-国产精品无码av片在线观看播-国产无人区码熟妇毛片多-av中文在线观看-国产农村乱人伦精品视频-正在播放日韩-黑人巨大videos精品-91久久一区-亚洲最大在线视频-成人女人黄网站免费视频-极品在线视频-春色校园激情综合在线-99久视频-精品国产一区在线

| 項目咨詢 |積分體系 | 加入收藏 | 設為首頁 | 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; 
來頂一下
返回首頁
返回首頁
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
欄目更新
欄目熱門