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

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.設(shè)置edit只讀屬性

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


2.判斷edit中光標(biāo)狀態(tài)并得到選中內(nèi)容(richedit同樣適用)

        int nStart, nEnd;
        CString strTemp;

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


3.在edit最后添加字符串

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


4.隨輸入自動(dòng)滾動(dòng)到最后一行(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派生一個(gè)類,添加WM_CHAR消息映射。下面一個(gè)例子實(shí)現(xiàn)了限定輸入16進(jìn)制字符的功能。

   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自動(dòng)為寬字符(WideChar),所以它可以解決中文亂碼以及一些漢字問題

    方法一:(msdn上的做法,適用于用VC.NET及以后版本創(chuàng)建的工程)
            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.
    方法二:以對(duì)話框?yàn)槔?br>       (1)    增加一全局變量 HMODULE hMod;
       (2)    在CxxxApp::InitInstance()中添加一句hMod = LoadLibrary(_T("riched20.dll"));
              在CxxxApp::ExitInstance()中添加一句FreeLibrary(hMod);
       (3)      在對(duì)話框上放一個(gè)richedit,文本方式打開.rc文件修改該richedit控件的類名"RICHEDIT" to  "RichEdit20a".
       (4)      在對(duì)話框頭文件添加 CRichEditCtrl m_richedit;
              在OnInitDialog中添加 m_richedit.SubclassDlgItem(IDC_RICHEDIT1, this);


8.改變r(jià)ichedit指定區(qū)域的顏色及字體

        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("隸書"));//設(shè)置字體
    
        m_richedit1.SetSel(1, 5); //設(shè)置處理區(qū)域
        m_richedit1.SetSelectionCharFormat(cf);


9.設(shè)置行間距(只適用于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動(dòng)畫

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


12.richedit嵌入ole對(duì)象

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


13.使richedit選中內(nèi)容只讀

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無響應(yīng)的問題

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.當(dāng)edit控件的父窗口屬性是帶標(biāo)題欄WS_CAPTION和子窗口WS_CHILD時(shí),不能設(shè)置焦點(diǎn)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中回車時(shí),會(huì)退出對(duì)話框 

選中Edit的風(fēng)格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. 動(dòng)態(tài)創(chuàng)建的edit沒有邊框的問題

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

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

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

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

評(píng)論

# 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]   回復(fù)  更多評(píng)論   

# 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.  回復(fù)  更多評(píng)論   

# 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.  回復(fù)  更多評(píng)論   

# 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   回復(fù)  更多評(píng)論   

<2009年8月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(9)

隨筆分類(67)

隨筆檔案(65)

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美激情麻豆| 91久久精品国产| 国产亚洲欧美一区二区| 免费人成网站在线观看欧美高清| 亚洲一区二区三区在线| 亚洲视频一二三| 欧美一级在线视频| 欧美在线免费看| 久久综合999| 欧美日韩国产精品专区| 欧美午夜寂寞影院| 欧美香蕉视频| 在线观看成人一级片| 在线综合亚洲欧美在线视频| 久久久久久一区二区| 麻豆成人小视频| 国产精品电影观看| 伊人久久噜噜噜躁狠狠躁 | 噜噜噜在线观看免费视频日韩| 裸体歌舞表演一区二区| 亚洲午夜在线视频| 蜜桃av一区二区| 国产日韩精品视频一区| av成人免费在线| 亚洲第一精品夜夜躁人人躁| 亚洲欧美精品中文字幕在线| 欧美成人一区二区三区在线观看| 国产精品视频不卡| 中国日韩欧美久久久久久久久| 久久先锋资源| 久久动漫亚洲| 国内一区二区三区| 久久亚洲私人国产精品va媚药| 中文欧美在线视频| 国产精品女人网站| 午夜精品久久久久久99热| av成人福利| 国产精品久久影院| 久久av一区二区三区| 久久精品视频在线观看| 尤物yw午夜国产精品视频明星| 欧美一区二区日韩| 午夜一区二区三视频在线观看| 国产视频亚洲精品| 欧美α欧美αv大片| 久久尤物视频| 亚洲精品在线观看免费| 在线精品福利| 亚洲欧洲日本在线| 国产精品亚洲综合久久| 久久视频一区| 欧美日韩在线电影| 久久精品视频导航| 欧美久久久久久蜜桃| 亚洲欧美国产毛片在线| 久久久999精品视频| 一区二区三区高清在线 | 欧美专区中文字幕| 免费一级欧美片在线播放| 欧美一区激情视频在线观看| 久久久亚洲国产天美传媒修理工| 亚洲久久在线| 久久亚洲精品伦理| 久久久久久久网站| 欧美色大人视频| 亚洲国产精品va在线看黑人动漫| 国产精品乱子乱xxxx| 亚洲精品乱码久久久久久蜜桃91| 国内外成人免费激情在线视频网站| 亚洲精品国产欧美| 在线成人黄色| 久久一综合视频| 巨胸喷奶水www久久久免费动漫| 国产精品裸体一区二区三区| 99精品久久久| 性欧美在线看片a免费观看| 国产精品爱啪在线线免费观看| 亚洲激情av| 亚洲一区影音先锋| 国产精品人人做人人爽人人添| 在线视频你懂得一区二区三区| 一区二区三区欧美在线观看| 亚洲美女少妇无套啪啪呻吟| 亚洲免费精品| 国产精品久久久久99| 午夜天堂精品久久久久| 久久精品人人| 亚洲精华国产欧美| 欧美午夜精品久久久久久浪潮| 亚洲欧美偷拍卡通变态| 欧美jizz19性欧美| 亚洲欧美视频在线| 亚洲精品视频免费| 国产伪娘ts一区| 欧美日韩精品免费在线观看视频| 99精品国产在热久久下载| 久久久久久伊人| 亚洲欧美成人在线| 亚洲精品美女久久7777777| 国产欧美日韩免费| 欧美日韩视频一区二区三区| 久久精品一区| 久久国产精品黑丝| 亚洲婷婷在线| 日韩视频在线免费| 亚洲国产美女| 亚洲精品日韩一| 亚洲人成啪啪网站| 欧美国产日韩一二三区| 久久婷婷亚洲| 嫩模写真一区二区三区三州| 另类天堂av| 欧美v日韩v国产v| 亚洲第一精品夜夜躁人人爽| 免费成人毛片| 欧美激情按摩在线| 亚洲人成在线播放| 亚洲人被黑人高潮完整版| 亚洲欧洲日韩女同| 一区二区三区导航| 欧美在线观看一区二区三区| 久久精品免费观看| 99热这里只有精品8| 一个色综合av| 欧美中日韩免费视频| 久久精品免费观看| 欧美日本不卡| 国产小视频国产精品| 加勒比av一区二区| 99视频精品免费观看| 久久精品国产亚洲一区二区| 欧美成人在线免费观看| 在线亚洲精品| 久热这里只精品99re8久| 欧美日韩伊人| 亚洲黑丝一区二区| 性欧美videos另类喷潮| 亚洲国产经典视频| 久久xxxx精品视频| 欧美日韩精品在线视频| 在线视频观看日韩| 久久激情中文| 亚洲色图制服丝袜| 欧美www在线| 亚洲激精日韩激精欧美精品| 久久se精品一区精品二区| 亚洲靠逼com| 欧美日韩精品一区二区天天拍小说| 激情成人av| 欧美91视频| 免费观看日韩av| 亚洲国产精品一区二区www在线| 久久精品亚洲精品| 久久激情视频免费观看| 国产亚洲视频在线| 久久综合中文色婷婷| 麻豆精品精华液| 亚洲激情精品| 亚洲免费观看高清在线观看| 欧美激情中文字幕一区二区 | 久久久久久欧美| 国模套图日韩精品一区二区| 欧美在线观看视频在线| 久久成年人视频| 欧美aa在线视频| 99视频一区| 性色一区二区三区| 亚洲激情在线播放| 洋洋av久久久久久久一区| 国产精品区一区二区三区| 久久久久久一区| 欧美日韩亚洲成人| 免费在线观看精品| 国产日韩欧美电影在线观看| 免费观看欧美在线视频的网站| 欧美激情亚洲| 男人的天堂成人在线| 国产精品久久久久7777婷婷| 欧美大片在线观看| 国际精品欧美精品| 亚洲在线成人| 亚洲一区在线视频| 欧美激情在线| 亚洲人成人一区二区在线观看| 国内外成人免费激情在线视频网站| 亚洲精品国产系列| 亚洲精品欧美日韩专区| 久久中文精品| 欧美成人国产一区二区| 国产日韩一区二区三区在线播放| 亚洲黄色影院| 一区二区三区精密机械公司| 老妇喷水一区二区三区| 蜜臀99久久精品久久久久久软件 | 在线视频日韩| 亚洲一区二区三区高清| 国产精品免费看片| 久久米奇亚洲| 亚洲国产91| 亚洲欧美日韩第一区|