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

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   回復  更多評論   

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

導航

統計

常用鏈接

留言簿(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>
            另类专区欧美制服同性| 亚洲欧美国产精品专区久久| 久久国产成人| 精品电影在线观看| 久久免费的精品国产v∧| 欧美一二三视频| 国产精品性做久久久久久| 亚洲一级二级在线| 在线一区日本视频| 国产欧美日韩综合| 久久中文精品| 欧美成ee人免费视频| 日韩视频在线免费| 夜夜嗨av一区二区三区网站四季av| 欧美视频不卡| 久久久www成人免费无遮挡大片 | 欧美一级播放| 欧美专区在线观看| 亚洲每日在线| 亚洲欧美激情诱惑| 亚洲激情av| 亚洲深夜av| 在线色欧美三级视频| 日韩午夜电影在线观看| 国产一区二区成人| 亚洲国产欧美一区二区三区同亚洲| 欧美黄色免费网站| 欧美一区二区日韩| 久久精品中文| 亚洲一区二区在线视频| 久久精视频免费在线久久完整在线看| 国产精品一区在线观看你懂的| 欧美福利电影在线观看| 国产精品伦子伦免费视频| 欧美激情亚洲另类| 国产欧美一区二区三区沐欲| 亚洲国产影院| 国产偷久久久精品专区| 亚洲精品欧美日韩专区| 国产一区二区成人| 宅男精品导航| 日韩视频在线观看免费| 久久久久国产精品一区三寸| 在线视频亚洲一区| 久久久久九九视频| 欧美一区二区三区在线观看视频| 欧美大片91| 久久蜜桃精品| 国产欧美三级| 亚洲无吗在线| 亚洲激情一区二区| 亚洲欧美日韩在线观看a三区| 99视频一区二区三区| 久久久夜夜夜| 久久久久久欧美| 欧美亚洲第一页| 亚洲精品免费在线播放| 亚洲精品免费在线| 久久精品国产清自在天天线| 亚洲欧美激情视频| 欧美日本国产在线| 亚洲国产欧美国产综合一区 | 久久视频国产精品免费视频在线| 亚洲一区影院| 欧美天天综合网| 99国产精品久久久久久久成人热| 亚洲欧洲综合另类在线| 美国十次了思思久久精品导航| 免费在线观看精品| 亚洲高清激情| 麻豆精品传媒视频| 欧美国产高清| 亚洲麻豆国产自偷在线| 欧美激情中文字幕乱码免费| 亚洲国产欧美在线人成| 亚洲人成高清| 欧美欧美天天天天操| 一本色道久久综合亚洲精品按摩 | 久久精品色图| 极品少妇一区二区三区精品视频| 久久精精品视频| 欧美va亚洲va国产综合| 亚洲国产一区在线观看| 欧美国产亚洲另类动漫| 日韩亚洲国产欧美| 性一交一乱一区二区洋洋av| 国产一区二区中文| 久久久www成人免费精品| 欧美福利电影在线观看| 制服诱惑一区二区| 欧美日韩在线视频观看| 午夜国产欧美理论在线播放| 久久蜜臀精品av| 亚洲激情图片小说视频| 国产精品高潮粉嫩av| 久久久999成人| 久久综合五月天婷婷伊人| 亚洲精品中文字| 国产精品一二三四区| 久久精品久久综合| 亚洲欧洲精品一区二区三区不卡| 亚洲精品字幕| 国产免费观看久久| 蜜桃精品久久久久久久免费影院| 亚洲激情视频在线观看| 欧美一区午夜精品| 亚洲日本成人在线观看| 国产精品免费看久久久香蕉| 久久躁狠狠躁夜夜爽| 中文亚洲字幕| 欧美成人精品1314www| 亚洲视频免费观看| 亚洲第一精品电影| 国产精品你懂的| 欧美激情按摩| 久久久免费观看视频| 一区二区不卡在线视频 午夜欧美不卡在| 久久久美女艺术照精彩视频福利播放 | 麻豆精品在线观看| 亚洲欧美日韩电影| 日韩一区二区精品| 激情久久久久久久| 国产欧美日韩免费| 欧美日韩国内| 欧美a级一区| 久久久青草青青国产亚洲免观| 一本色道久久综合亚洲精品高清 | 欧美专区在线观看一区| 亚洲精品美女久久7777777| 红桃视频欧美| 国产视频在线一区二区 | 久久精品国产一区二区电影| avtt综合网| 亚洲精品免费看| 欧美高清视频在线播放| 久久最新视频| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲欧美日韩精品久久奇米色影视| 亚洲看片一区| 亚洲毛片av在线| 亚洲人成在线观看一区二区| 激情久久中文字幕| 国产午夜精品理论片a级探花| 国产精品成人播放| 国产精品国产a| 国产精品久久久久999| 欧美日韩在线一二三| 欧美三级网页| 国产精品国产a| 国产精品视频免费观看| 国产酒店精品激情| 国产色综合天天综合网| 国产精品看片资源| 国产欧美综合在线| 黄色一区二区三区四区| 激情综合久久| 亚洲三级影院| 在线一区视频| 欧美夜福利tv在线| 久久免费高清视频| 模特精品裸拍一区| 欧美国产日韩视频| 日韩视频免费观看高清在线视频| 亚洲乱码国产乱码精品精可以看 | 久久疯狂做爰流白浆xx| 欧美在线啊v| 久久综合九色欧美综合狠狠| 欧美va天堂在线| 欧美另类视频| 国产精品mv在线观看| 国产日韩欧美日韩| 亚洲国内在线| 亚洲伊人一本大道中文字幕| 久久国产精品99国产精| 欧美大片18| 在线亚洲电影| 久久青青草原一区二区| 欧美日韩精品不卡| 国产亚洲福利社区一区| 亚洲人成网站精品片在线观看| 亚洲图片欧美一区| 久久一区亚洲| 一本色道综合亚洲| 久久久一二三| 国产精品热久久久久夜色精品三区| 国产精品一区二区三区乱码| 伊人狠狠色j香婷婷综合| 99视频一区二区| 毛片一区二区三区| 中日韩美女免费视频网址在线观看| 香蕉成人啪国产精品视频综合网| 久久免费少妇高潮久久精品99| 欧美精品日韩一区| 国产一区二区三区不卡在线观看| 91久久在线| 六月天综合网| 亚洲欧美日韩国产中文| 欧美日韩美女| 91久久夜色精品国产九色| 久久久久久久91|