首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

VC++ 實現可編輯文本視圖:繼承 CEditView 而非手繪 CDC

     編輯:程式設計綜合問答

誤區

用 CDC::TextOut 繪製文本 → 無法編輯、無游標、無選中、無滾動。

正確做法

  1. 創建 MFC 單文檔/多文檔項目
  2. 視圖類繼承 CEditView(而非 CView)
  3. 自動獲得:完整文本編輯器功能(輸入、刪除、複製、粘貼、撤銷、選中、滾動、換行)

文件菜單「打開」實現

void CMyEditView::OnFileOpen() {
    CFileDialog dlg(TRUE, _T("txt"), NULL, OFN_HIDEREADONLY, _T("文本文件(*.txt)|*.txt||"));
    if (dlg.DoModal() == IDOK) {
        CString path = dlg.GetPathName();
        GetDocument()->OnOpenDocument(path); // CEditView 已實現文件加載
    }
}

CEditView 內部封裝了 CRichEditCtrl,功能強大且穩定,無需手工繪製。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved