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

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 閱讀(3115) 評論(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年10月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

導航

統計

常用鏈接

留言簿(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>
            久久亚洲视频| 亚洲欧洲日本专区| 亚洲第一毛片| 亚洲天堂成人| 久久精品久久99精品久久| 夜夜嗨av色一区二区不卡| 亚洲国产高清自拍| 亚洲人成在线影院| 一区二区高清在线| 亚洲香蕉成视频在线观看| 亚洲成色777777在线观看影院| 久久激情五月激情| 欧美怡红院视频一区二区三区| 亚洲网站视频福利| 一二美女精品欧洲| 亚洲欧美中日韩| 国产日韩欧美一二三区| 国产伦精品一区二区三区视频黑人| 欧美日韩一区二区在线视频 | 亚洲欧美国产高清va在线播| 欧美在线视频导航| 国内伊人久久久久久网站视频| 一区二区三区自拍| 日韩网站免费观看| 久久成人精品无人区| 欧美成人嫩草网站| 欧美激情一区二区三区蜜桃视频| 午夜精品久久久久久久99樱桃 | 欧美在线日韩| 麻豆精品在线播放| 母乳一区在线观看| 亚洲精品乱码久久久久久久久| 夜夜精品视频一区二区| 久久精品国内一区二区三区| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美ab在线视频| 欧美午夜a级限制福利片| 国产最新精品精品你懂的| 美女主播精品视频一二三四| 国产精品国产三级国产aⅴ浪潮| 国产一区二区三区久久悠悠色av| 亚洲福利视频三区| 欧美一区二区三区日韩| 免费观看久久久4p| 亚洲一区中文字幕在线观看| 欧美在线日韩| 国产精品福利在线观看| 亚洲精品一区二区三区不| 亚洲综合精品自拍| 国产在线乱码一区二区三区| 国产综合色精品一区二区三区| 性欧美xxxx视频在线观看| 一卡二卡3卡四卡高清精品视频| 欧美有码在线视频| 国产九区一区在线| 亚洲国产精品成人| 久久精品国产亚洲高清剧情介绍| 亚洲深夜福利| 欧美精品大片| 亚洲九九九在线观看| 欧美成人高清视频| 久久精品国产一区二区三区| 国产伦精品一区二区三区免费迷 | 亚洲欧美日韩一区在线观看| 欧美日韩无遮挡| 亚洲精品视频一区| 猫咪成人在线观看| 久久久久久久久伊人| 国产视频久久网| 羞羞色国产精品| 久久精品国产免费看久久精品| 日韩视频在线一区二区三区| 欧美日韩国产麻豆| 亚洲久久在线| 日韩午夜剧场| 亚洲精品国精品久久99热| 久久gogo国模裸体人体| 伊人久久综合97精品| 欧美在线免费观看亚洲| 性色av一区二区三区红粉影视| 欧美日韩国产亚洲一区| 伊人久久亚洲美女图片| 亚洲第一精品夜夜躁人人躁 | 欧美人与性动交α欧美精品济南到| 欧美日韩情趣电影| 国产亚洲福利| 久久久视频精品| 免费久久精品视频| 最新成人在线| 日韩一级精品| 国产精品日韩在线观看| 欧美一区二区三区精品| 欧美丝袜一区二区三区| 欧美一区亚洲| 性色av一区二区怡红| 在线播放中文一区| 久久久免费观看视频| 在线观看国产精品网站| 亚洲国产综合91精品麻豆| 欧美激情中文不卡| 久久av红桃一区二区小说| 亚洲欧美综合国产精品一区| 国产精品美女诱惑| 亚洲美女尤物影院| 亚洲综合视频网| 先锋影音国产一区| 亚洲电影下载| 亚洲淫性视频| 亚洲激情小视频| 亚洲欧美日韩直播| 91久久精品国产91久久| 一本久道久久综合中文字幕| 国产日韩欧美二区| 亚洲电影第三页| 国产午夜精品在线| 亚洲青涩在线| 黄色免费成人| 国产精品99久久久久久久vr| 亚洲午夜在线观看视频在线| 久久久夜精品| 亚洲在线视频观看| 欧美成人自拍| 久久xxxx| 国产精品久久久久久av下载红粉 | 亚洲国产日本| 国产一区二区视频在线观看| 99国产成+人+综合+亚洲欧美| 黄色亚洲免费| 亚洲一级二级在线| 一区二区三区四区五区在线| 久久久噜噜噜久久狠狠50岁| 久久精品首页| 国产精品女同互慰在线看| 99精品欧美一区二区蜜桃免费| 影音先锋久久资源网| 久久精品免费看| 国产精品hd| 亚洲三级免费| 亚洲黄色一区二区三区| 香蕉亚洲视频| 欧美综合国产精品久久丁香| 国产精品久久久久一区二区| 亚洲视频综合在线| 一区二区三区免费看| 欧美精品18+| 亚洲福利视频一区二区| 国产精品久久一区二区三区| 在线性视频日韩欧美| 最新亚洲激情| 欧美风情在线| 国产精品伊人日日| 午夜在线a亚洲v天堂网2018| 欧美网站在线观看| 亚洲欧美日韩国产一区| 欧美日韩一区二区免费在线观看| 欧美国产日产韩国视频| 亚洲巨乳在线| 欧美日韩一区二区视频在线观看| 中文一区二区| 欧美一区亚洲一区| 在线观看日韩| 亚欧美中日韩视频| 一本色道久久综合精品竹菊| 欧美日韩视频一区二区三区| 亚洲三级性片| 国产精品日韩欧美一区二区三区| 亚洲精品久久7777| 午夜精品久久久久久久男人的天堂| 欧美亚洲不卡| 欧美亚洲免费高清在线观看| 裸体丰满少妇做受久久99精品| 激情六月婷婷综合| 欧美精品v日韩精品v韩国精品v | 亚洲国产一区视频| 亚洲视频在线二区| 欧美三级在线| 久久精品国产免费观看| 欧美激情在线免费观看| 亚洲一区精品电影| 国产在线一区二区三区四区| 欧美成人激情视频| 亚洲综合第一| 亚洲第一精品久久忘忧草社区| 亚洲欧美精品| 国产综合久久久久影院| 日韩视频在线一区二区三区| 免费在线观看成人av| 一区二区三区欧美在线观看| 久久久久9999亚洲精品| 亚洲欧洲综合| 国模套图日韩精品一区二区| 欧美第十八页| 久久久久中文| 亚洲综合首页| 一本一本久久a久久精品综合妖精| 久久久久中文| 欧美一区二区高清| 亚洲国产精品激情在线观看| 国产三区精品| 欧美视频在线一区二区三区|