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

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è)位置(直觀來(lái)看就是光標(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),所以它可以解決中文亂碼以及一些漢字問(wèn)題

    方法一:(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無(wú)響應(yīng)的問(wèn)題

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éi)有邊框的問(wèn)題

    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 閱讀(3106) 評(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)論   

<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

導(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>
            国产精品亚洲综合色区韩国| 亚洲国产视频一区| 欧美午夜无遮挡| 欧美诱惑福利视频| 欧美成人精品h版在线观看| 亚洲欧洲av一区二区三区久久| 美女脱光内衣内裤视频久久影院| 在线亚洲一区二区| 亚洲综合色网站| 99国产精品国产精品久久| 久久久亚洲一区| 欧美一区影院| 欧美日韩精品一区二区三区| 99视频日韩| 99成人精品| 国产精品久久久| 亚洲图片欧洲图片日韩av| 香蕉精品999视频一区二区| 国产欧美精品| 99视频精品| 在线午夜精品| 欧美日韩一区二区在线观看| 亚洲另类自拍| 亚洲电影观看| 国产精品乱码一区二区三区| 亚洲午夜精品一区二区| 亚洲欧美中文日韩在线| 国产综合久久久久久鬼色| 午夜精品福利一区二区蜜股av| 久久久欧美精品| 一本色道久久综合亚洲精品不卡| 国产日本欧美在线观看| 一区二区三区高清不卡| 亚洲欧美日韩国产一区二区| 国产自产2019最新不卡| 久久性天堂网| 亚洲精品三级| 亚洲欧美综合网| 一区二区三区.www| 亚洲经典在线| 尹人成人综合网| 狠狠综合久久av一区二区老牛| 久久久久亚洲综合| 欧美激情亚洲国产| 久久九九99| …久久精品99久久香蕉国产| 久久精品亚洲| 国内精品久久久久影院薰衣草| 欧美一二区视频| 欧美日韩国产色综合一二三四| 一本久久青青| 亚洲伊人久久综合| 国产精品红桃| 欧美一级黄色录像| 欧美成人免费小视频| 亚洲国产专区| 欧美综合国产| 亚洲日本欧美| 久久综合九色综合久99| 亚洲国产毛片完整版| 国产精品乱码一区二区三区| 在线观看亚洲视频啊啊啊啊| 欧美一区二区三区在线看| 欧美三级不卡| 久久综合狠狠综合久久综合88| 亚洲无亚洲人成网站77777 | 亚洲人成网站精品片在线观看| 国产综合色产| 国产精品yjizz| 欧美一区影院| 久久影音先锋| 亚洲国产精品成人va在线观看| 亚洲深夜福利视频| 中文国产成人精品久久一| 在线看片成人| 欧美大片免费| 欧美巨乳在线| 模特精品在线| 欧美日韩在线免费视频| 午夜在线电影亚洲一区| 在线一区观看| 国产精品一区二区三区四区 | 国产性猛交xxxx免费看久久| 欧美一区二区私人影院日本| 午夜精品网站| 很黄很黄激情成人| 91久久久亚洲精品| 欧美午夜欧美| 免费欧美视频| 国产精品视频免费| 亚洲第一区中文99精品| 欧美日韩国产色视频| 亚洲精品久久久一区二区三区| 国产精品丝袜91| 免费在线观看一区二区| 亚洲激情国产| 一区二区三区波多野结衣在线观看| 欧美日韩精品中文字幕| 小黄鸭精品密入口导航| 久久久久国产精品午夜一区| 亚洲人成毛片在线播放| 宅男66日本亚洲欧美视频| 狠狠色丁香婷婷综合久久片| 亚洲国产天堂久久综合网| 国产精品免费电影| 免费中文日韩| 国产精品免费观看视频| 欧美激情乱人伦| 欧美人成免费网站| 久久国产精品免费一区| 欧美电影电视剧在线观看| 性色av一区二区三区在线观看 | 欧美一级黄色网| 亚洲片区在线| 久久激五月天综合精品| 亚洲图色在线| 欧美大片专区| 老司机免费视频久久| 欧美日韩一区综合| 久久久久一区| 午夜久久福利| 欧美高清视频在线观看| 久久最新视频| 国产日韩欧美一区| 99精品99| 夜夜爽夜夜爽精品视频| 男女精品网站| 欧美a级片网| 激情久久影院| 欧美一区国产二区| 欧美一级成年大片在线观看| 欧美日韩免费区域视频在线观看| 美女成人午夜| 国产精品一区在线观看| 中文精品视频一区二区在线观看| 99在线|亚洲一区二区| 欧美国产一区二区| 亚洲国产高清在线| 亚洲电影第1页| 久久看片网站| 欧美国产日韩a欧美在线观看| 亚洲电影欧美电影有声小说| 久久xxxx精品视频| 美女图片一区二区| 亚洲激情第一区| 欧美国产免费| 日韩一级大片在线| 一二三四社区欧美黄| 欧美日韩一区二区视频在线 | 亚洲永久字幕| 欧美一级午夜免费电影| 国产精品女主播在线观看| 亚洲一区二区三区在线播放| 亚洲欧美久久| 国产模特精品视频久久久久| 午夜一级久久| 午夜伦理片一区| 欧美一站二站| 国模精品娜娜一二三区| 欧美在线播放高清精品| 老**午夜毛片一区二区三区| 亚洲国产经典视频| 欧美激情精品久久久| 日韩视频免费观看| 午夜精品久久久久久久久| 国产一区二区主播在线| 久久久久国色av免费看影院| 亚洲成在人线av| 亚洲自拍另类| 黄色在线一区| 欧美日韩国产亚洲一区| 亚洲欧美日韩系列| 欧美不卡一区| 亚洲网友自拍| 极品少妇一区二区三区| 欧美大片网址| 亚洲免费一级电影| 欧美二区乱c少妇| 亚洲欧美日韩一区在线| 亚洲大胆人体视频| 国产精品不卡在线| 久久色在线播放| 亚洲午夜久久久| 欧美高清视频| 欧美一区二区高清在线观看| 精品成人在线视频| 国产精品www994| 免费国产一区二区| 亚洲欧美国产高清va在线播| 欧美激情综合色| 久久成人免费网| 亚洲一区二区久久| 最新成人av在线| 精品不卡视频| 国产一区二区三区在线免费观看 | 亚洲每日在线| 免费在线日韩av| 玖玖玖国产精品| 久久国产一二区| 亚洲一区国产一区|