青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

CEdit & CRichEdit 使用技巧

http://blog.csdn.net/lixiaosan/

【原】CEdit & CRichEdit 使用技巧

作者:lixiaosan
日期:04/07/2006

注:
        m_edit1代表ID為IDC_EDIT1的CEdit控件的control類型的變量
        m_richedit1代表ID為IDC_RICHEDIT1的CRichEditCtrl控件的control類型的變量


1.設置edit只讀屬性

    方法一:
                m_edit1.SetReadOnly(TRUE);
    方法二:
                ::SendMessage(m_edit1.m_hWnd, EM_SETREADONLY, TRUE, 0);


2.判斷edit中光標狀態并得到選中內容(richedit同樣適用)

        int nStart, nEnd;
        CString strTemp;

        m_edit1.GetSel(nStart, nEnd);
        if(nStart == nEnd)
        {
            strTemp.Format(_T("光標在%d"), nStart);
            AfxMessageBox(strTemp);
        }
        else
        {
            //得到edit選中的內容    
            m_edit1.GetWindowText(strTemp);
            strTemp = strTemp.Mid(nStart) - strTemp.Mid(nEnd);
            AfxMessageBox(strTemp);
        }
    注:GetSel后,如果nStart和nEnd,表明光標處于某個位置(直觀來看就是光標在閃動);
             如果nStart和nEnd不相等,表明用戶在edit中選中了一段內容。


3.在edit最后添加字符串

        CString str;
        m_edit1.SetSel(-1, -1);
        m_edit1.ReplaceSel(str);


4.隨輸入自動滾動到最后一行(richedit同樣適用)

    方法一:(摘自msdn)
        // The pointer to my edit.
        extern CEdit* pmyEdit;
        int nFirstVisible = pmyEdit->GetFirstVisibleLine();

        // Scroll the edit control so that the first visible line
        // is the first line of text.
        if (nFirstVisible > 0)
        {
            pmyEdit->LineScroll(-nFirstVisible, 0);
        }
    方法二:
        m_richedit.PostMessage(WM_VSCROLL, SB_BOTTOM, 0);


5.如何限制edit輸入指定字符

   可以從CEdit派生一個類,添加WM_CHAR消息映射。下面一個例子實現了限定輸入16進制字符的功能。

   void CMyHexEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 
   {
        if ( (nChar >= '0' && nChar <= '9') ||
             (nChar >= 'a' && nChar <= 'f') ||
             (nChar >= 'A' && nChar <= 'F') ||
              nChar == VK_BACK || 
              nChar == VK_DELETE)    //msdn的virtual key
       {
            CEdit::OnChar(nChar, nRepCnt, nFlags);
        }     
   }


6.如何使用richedit

    添加AfxInitRichEdit();
       CxxxApp::InitInstance()
        {
             AfxInitRichEdit();
          .............
       }

   AfxInitRichEdit()功能:裝載 RichEdit 1.0 Control (RICHED32.DLL).


7.如何使用richedit2.0 or richedit3.0

    使用原因:由于RichEdit2.0A自動為寬字符(WideChar),所以它可以解決中文亂碼以及一些漢字問題

    方法一:(msdn上的做法,適用于用VC.NET及以后版本創建的工程)
            To update rich edit controls in existing Visual C++ applications to version 2.0,
            open the .RC file as text, change the class name of each rich edit control from   "RICHEDIT" to  "RichEdit20a".
            Then replace the call to AfxInitRichEdit with AfxInitRichEdit2.
    方法二:以對話框為例:
       (1)    增加一全局變量 HMODULE hMod;
       (2)    在CxxxApp::InitInstance()中添加一句hMod = LoadLibrary(_T("riched20.dll"));
              在CxxxApp::ExitInstance()中添加一句FreeLibrary(hMod);
       (3)      在對話框上放一個richedit,文本方式打開.rc文件修改該richedit控件的類名"RICHEDIT" to  "RichEdit20a".
       (4)      在對話框頭文件添加 CRichEditCtrl m_richedit;
              在OnInitDialog中添加 m_richedit.SubclassDlgItem(IDC_RICHEDIT1, this);


8.改變richedit指定區域的顏色及字體

        CHARFORMAT cf;
        ZeroMemory(&cf, sizeof(CHARFORMAT));
        cf.cbSize = sizeof(CHARFORMAT);
        cf.dwMask = CFM_BOLD | CFM_COLOR | CFM_FACE |
                            CFM_ITALIC | CFM_SIZE | CFM_UNDERLINE;
        cf.dwEffects = 0;
        cf.yHeight = 12*12;//文字高度
        cf.crTextColor = RGB(200, 100, 255); //文字顏色
        strcpy(cf.szFaceName ,_T("隸書"));//設置字體
    
        m_richedit1.SetSel(1, 5); //設置處理區域
        m_richedit1.SetSelectionCharFormat(cf);


9.設置行間距(只適用于richedit2.0)

        PARAFORMAT2 pf;
        pf2.cbSize = sizeof(PARAFORMAT2);
        pf2.dwMask = PFM_LINESPACING | PFM_SPACEAFTER;
        pf2.dyLineSpacing = 200;
        pf2.bLineSpacingRule  = 4;
        m_richedit.SetParaFormat(pf2);


10.richedit插入位圖

Q220844:How to insert a bitmap into an RTF document using the RichEdit control in Visual C++ 6.0
http://support.microsoft.com/default.aspx?scid=kb;en-us;220844
http://www.codeguru.com/Cpp/controls/richedit/article.php/c2417/
http://www.codeguru.com/Cpp/controls/richedit/article.php/c5383/


11.richedit插入gif動畫

http://www.codeproject.com/richedit/AnimatedEmoticon.asp


12.richedit嵌入ole對象

http://support.microsoft.com/kb/141549/en-us


13.使richedit選中內容只讀

http://www.codeguru.com/cpp/controls/richedit/article.php/c2401/


14.打印richedit

http://www.protext.com/MFC/RichEdit3.htm



15.richeidt用于聊天消息窗口

http://www.vckbase.com/document/viewdoc/?id=1087
http://www.codeproject.com/richedit/chatrichedit.asp
http://www.codeguru.com/Cpp/controls/richedit/article.php/c2395/


16.解決richedit的EN_SETFOCUS和EN_KILLFOCUS無響應的問題

http://support.microsoft.com/kb/181664/en-us


17.richedit拼寫檢查

http://www.codeproject.com/com/AutoSpellCheck.asp


18.改變edit背景色

Q117778:How to change the background color of an MFC edit control
http://support.microsoft.com/kb/117778/en-us


19.當edit控件的父窗口屬性是帶標題欄WS_CAPTION和子窗口WS_CHILD時,不能設置焦點SetFocus

Q230587:PRB: Can't Set Focus to an Edit Control When its Parent Is an Inactive Captioned Child Window

http://support.microsoft.com/kb/230587/en-us



20. 在Edit中回車時,會退出對話框 

選中Edit的風格Want Return。

MSDN的解釋如下:
ES_WANTRETURN   Specifies that a carriage return be inserted when the user presses the ENTER key while entering text into a multiple-line edit control in a dialog box. Without this style, pressing the ENTER key has the same effect as pressing the dialog box's default pushbutton. This style has no effect on a single-line edit control.


21. 動態創建的edit沒有邊框的問題

    m_edit.Create(....);
    m_edit.ModifyStyleEx(0, WS_EX_CLIENTEDGE, SWP_DRAWFRAME);

22. 一個能顯示RTF,ole(包括gif, wmv,excel ,ppt)的例子

http://www.codeproject.com/richedit/COleRichEditCtrl.asp

posted on 2007-04-29 20:59 PeakGao 閱讀(3121) 評論(4)  編輯 收藏 引用 所屬分類: C++技術

評論

# xdywdnja 2008-04-06 08:43 xdywdnja

gjwgdmpd http://hxurfwxp.com rygvtudv dhhasnbc <a href="http://ntwzxwoj.com">bwacmbwp</a> [URL=http://awjxkjqo.com]sxebiyww[/URL]   回復  更多評論   

# secretogogue 2009-08-14 17:03 secretogogue

One of the lessons of history is that nothing is often a good thing to do and always a clever thing to say.  回復  更多評論   

# senega 2009-08-16 21:04 senega

Always be nice to those younger than you, because they are the ones who will be writing about you.  回復  更多評論   

# xsbctqbb 2009-08-28 04:09 xsbctqbb

<a href="http://qzbihykk.com">axgxiflo</a> [URL=http://gjogvkkg.com]zxtqqjmz[/URL] gnvkcuff http://etuvuoes.com lauaozas pujjfuur   回復  更多評論   

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導航

統計

常用鏈接

留言簿(9)

隨筆分類(67)

隨筆檔案(65)

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲免费精彩视频| 国产精品丝袜白浆摸在线| 99re8这里有精品热视频免费| 欧美激情视频给我| 欧美特黄视频| 久久婷婷影院| 亚洲高清影视| 欧美日韩视频专区在线播放| 久久久亚洲欧洲日产国码αv | 狠狠色噜噜狠狠色综合久| 欧美不卡在线视频| 最新国产成人在线观看| 欧美一区二区三区视频免费播放| 亚洲一区二区三区在线观看视频| 午夜精品久久久久| 久久综合九色综合久99| 国产精品美女久久久免费 | 另类图片国产| 91久久在线| 欧美不卡视频一区发布| 亚洲国产成人精品久久久国产成人一区 | 欧美日韩视频一区二区三区| 欧美一区二区三区四区夜夜大片 | 国产性天天综合网| 久久精品三级| 欧美电影在线观看| 日韩午夜在线播放| 国产欧美一区二区精品性| 性感少妇一区| 麻豆精品网站| 久久久久久成人| 欧美高清视频www夜色资源网| 亚洲精品1区2区| 国产欧美日韩免费看aⅴ视频| 麻豆精品视频在线| 亚洲欧美综合国产精品一区| 亚洲午夜女主播在线直播| 亚洲精品视频啊美女在线直播| 久久久久久综合| 亚洲精品久久久久久一区二区| 一区二区三区高清不卡| 亚洲视频成人| 久久久综合激的五月天| 久久久久国产精品一区三寸| 久久久久国产精品人| 午夜视频久久久久久| 国产精品日韩专区| 欧美日韩在线观看一区二区三区| 欧美成人69av| 亚洲一区观看| 亚洲欧美日韩人成在线播放| 香蕉成人啪国产精品视频综合网| 亚洲国产一二三| 亚洲精品婷婷| 宅男精品视频| 久久久久久网| 欧美日产国产成人免费图片| 麻豆亚洲精品| 久久成人免费日本黄色| 久久深夜福利| 久久久久久久成人| 久久婷婷国产综合尤物精品| 国产精品一区二区三区免费观看| 亚洲日本中文字幕| 欧美亚洲综合网| 欧美成人r级一区二区三区| 夜久久久久久| 你懂的国产精品| 欧美日韩国产综合视频在线观看中文 | 欧美亚洲一区在线| 免费观看国产成人| 美女网站久久| 亚洲国产色一区| 久久久噜噜噜久噜久久| 欧美日韩在线三区| 亚洲国产91| 久久久久se| 亚洲无吗在线| 欧美日韩高清区| 亚洲国产精品欧美一二99| 欧美在线一二三四区| 亚洲精品日韩在线观看| 美日韩在线观看| 国产视频在线观看一区二区| 一区二区三区免费观看| 麻豆精品网站| 麻豆成人小视频| 国产一区二区三区在线免费观看 | 免费久久精品视频| 亚洲欧美日韩国产成人| 欧美精品一区二区三区高清aⅴ| 在线观看欧美黄色| 免费在线观看精品| 欧美成人午夜| 久久综合婷婷| 欧美在线视频播放| 亚洲免费成人| 欧美搞黄网站| 国产一区二区在线观看免费| 久久精品日产第一区二区| 美女黄毛**国产精品啪啪 | 欧美在线在线| 女仆av观看一区| 亚洲欧美在线高清| 久久99在线观看| 亚洲在线电影| 在线视频亚洲一区| 国产在线精品一区二区夜色| 欧美黄色一区| 黄色成人91| 久久婷婷亚洲| 国产亚洲精品久| 一区二区三区波多野结衣在线观看| 黄色亚洲精品| 宅男噜噜噜66一区二区66| 在线观看视频日韩| 欧美大片一区| 亚洲一区日韩| 欧美高清成人| 噜噜噜在线观看免费视频日韩| 国产精品人人爽人人做我的可爱| 蜜桃久久av一区| 黄色一区三区| 午夜久久久久久久久久一区二区| 国产一区视频网站| 久久电影一区| 蜜臀av性久久久久蜜臀aⅴ| 国产色综合天天综合网| 亚洲欧美在线一区| 久久国产日韩欧美| 国产一区欧美日韩| 美日韩精品免费| 欧美国产成人精品| 亚洲国产精品成人综合| 欧美在线www| 男女精品网站| 亚洲国产福利在线| 欧美激情综合| 一区二区精品在线观看| 欧美一级日韩一级| 日韩视频在线免费观看| 国产精品乱码人人做人人爱 | 欧美一站二站| 亚洲乱码久久| 亚洲女人天堂成人av在线| 欧美激情第一页xxx| 亚洲视频在线观看网站| 老色鬼精品视频在线观看播放| 国产女人aaa级久久久级| 久久在线免费观看| 亚洲乱码国产乱码精品精98午夜| 久久精品国产2020观看福利| 136国产福利精品导航网址应用| 免费日韩av| 亚洲夜晚福利在线观看| 亚洲高清在线播放| 美女久久一区| 久久这里有精品视频| 欧美一级精品大片| 亚洲视频图片小说| 亚洲激情自拍| 欧美www在线| 久久人人爽人人爽爽久久| 久久精品中文字幕一区二区三区| 一区二区三区高清不卡| 在线精品亚洲| 亚洲激情不卡| 在线视频一区二区| 国产精品99久久99久久久二8| 国产日韩专区| 欧美精品色一区二区三区| 欧美亚州一区二区三区| 欧美v日韩v国产v| 国产精品人成在线观看免费| 国产精品每日更新| 国语自产在线不卡| 亚洲精品综合精品自拍| 亚洲电影在线观看| 欧美一区二区三区久久精品| 久久综合九九| 亚洲视频999| 欧美影视一区| 欧美日韩亚洲在线| 国产一区二区精品久久91| 国产精品视频久久| 亚洲国产免费看| 久久精品在线视频| 99综合精品| 久久这里只有| 欧美视频在线播放| 一区二区三区在线观看视频| 亚洲一区二区在线看| 亚洲欧洲综合| 欧美一区二区成人6969| 欧美色图麻豆| 中文在线一区| 久久久久久噜噜噜久久久精品| 欧美激情一区二区三区四区| 久久久久成人精品| 国产精品久久久久9999高清|