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

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 閱讀(3116) 評論(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   回復  更多評論   

<2007年10月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

導航

統計

常用鏈接

留言簿(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>
            99re热精品| 欧美在现视频| 国产精品家庭影院| 欧美三级视频在线观看| 欧美精品免费播放| 欧美日韩国产亚洲一区| 欧美视频日韩视频在线观看| 欧美日本国产视频| 国产精品女人久久久久久| 国产欧亚日韩视频| 一区精品在线播放| 一区二区免费在线播放| 欧美一区二区黄色| 欧美α欧美αv大片| 亚洲精品乱码久久久久久日本蜜臀| 欧美黄色大片网站| 99精品国产99久久久久久福利| 亚洲午夜在线观看| 久久免费视频一区| 欧美日韩一区视频| 影音先锋亚洲电影| 亚洲婷婷综合久久一本伊一区| 欧美专区在线观看| 亚洲欧洲三级| 午夜精品在线视频| 免费成人小视频| 国产精品剧情在线亚洲| 亚洲国产精品久久久久婷婷老年| 一区二区三区视频在线| 久久久久久一区二区三区| 最近看过的日韩成人| 久久综合五月| 国产视频久久久久久久| 国产一区在线看| 亚洲精选中文字幕| 蜜桃av综合| 亚洲免费伊人电影在线观看av| 久久综合给合久久狠狠狠97色69| 国产精品久久久久久久久久ktv| 激情视频一区二区| 亚洲女女女同性video| 欧美成人一二三| 欧美一区二区久久久| 欧美精品一区三区在线观看| 国语精品一区| 久久精品亚洲一区| 99re66热这里只有精品4| 久久综合狠狠综合久久综合88 | 亚洲图片在线| 欧美国产日韩亚洲一区| 欧美在线播放一区| 国产亚洲精品bv在线观看| 亚洲女与黑人做爰| 亚洲免费激情| 欧美三级午夜理伦三级中文幕| 亚洲国产美国国产综合一区二区| 久久久91精品国产一区二区三区 | 亚洲午夜精品17c| 欧美国产精品日韩| 久久亚洲精品欧美| 亚洲第一狼人社区| 亚洲第一福利视频| 欧美粗暴jizz性欧美20| 国产精品免费久久久久久| 亚洲欧美日韩国产综合在线| 在线视频一区观看| 国产精品一区一区三区| 欧美专区在线观看| 久久夜色精品国产噜噜av| ●精品国产综合乱码久久久久| 米奇777在线欧美播放| 麻豆9191精品国产| 在线亚洲+欧美+日本专区| 99热这里只有成人精品国产| 国产精品www| 亚洲视频图片小说| 亚洲影院一区| 亚洲第一网站免费视频| 亚洲日产国产精品| 国产精品一区二区a| 久久久精品久久久久| 老牛嫩草一区二区三区日本 | 亚洲小说欧美另类社区| 欧美成人一区二区三区| 亚洲高清不卡av| 亚洲美女精品久久| 国产精品狼人久久影院观看方式| 久久国产精品久久精品国产| 欧美一区91| 亚洲精品免费在线播放| 这里只有视频精品| 尤物精品在线| 中日韩美女免费视频网址在线观看| 国产裸体写真av一区二区| 免费成人激情视频| 欧美日韩免费一区| 久久久不卡网国产精品一区| 男男成人高潮片免费网站| 日韩一级黄色av| 欧美一二三区精品| 一区二区三区不卡视频在线观看| 亚洲欧美综合精品久久成人| 亚洲欧洲日本专区| 午夜在线电影亚洲一区| 99国产精品国产精品久久| 欧美在线欧美在线| 亚洲欧美成人一区二区在线电影| 久久五月天婷婷| 欧美伊人久久大香线蕉综合69| 欧美+日本+国产+在线a∨观看| 性欧美video另类hd性玩具| 牛人盗摄一区二区三区视频| 久久成人人人人精品欧| 欧美日韩视频免费播放| 麻豆成人91精品二区三区| 欧美刺激性大交免费视频| 久久久久久久综合| 国产精品久久久久77777| 亚洲国产欧美一区| 伊人久久av导航| 香港久久久电影| 亚洲综合第一| 欧美三区在线视频| 亚洲人永久免费| 亚洲精品一区二区在线观看| 久久九九99| 久久精品人人做人人爽| 欧美视频一区在线| 9l视频自拍蝌蚪9l视频成人| 亚洲免费电影在线| 欧美激情国产日韩| 91久久久亚洲精品| 99精品视频免费观看| 欧美福利一区二区三区| 亚洲高清久久网| 亚洲精品乱码久久久久久黑人| 久久亚洲精品视频| 欧美激情亚洲| 夜夜嗨一区二区三区| 欧美日韩国产高清视频| 亚洲毛片在线观看| 一个色综合av| 欧美激情一区二区三区成人| 亚洲激情av在线| 一区二区三区四区蜜桃| 欧美视频第二页| 一区二区久久久久久| 亚洲欧美国产制服动漫| 国产日韩三区| 日韩亚洲一区在线播放| 久久精品三级| 久久麻豆一区二区| 国产亚洲精品久久久| 久久xxxx精品视频| 男人插女人欧美| 亚洲人成免费| 欧美日韩国产黄| 亚洲欧美不卡| 老司机精品视频一区二区三区| 狠狠久久综合婷婷不卡| 欧美高清在线视频| 亚洲一区二区三区成人在线视频精品| 先锋影音久久| 亚洲国产天堂久久综合网| 欧美日韩午夜| 久久九九有精品国产23| 91久久精品久久国产性色也91| 亚洲网站在线| 精品999日本| 欧美日韩一区二区免费视频| 午夜精品久久久久久久久久久| 欧美成人综合| 校园春色综合网| 91久久亚洲| 国产一区二区三区免费观看| 欧美69视频| 午夜免费电影一区在线观看| 欧美国产亚洲视频| 欧美一区二区视频免费观看 | 极品少妇一区二区三区| 欧美精品99| 欧美在线高清视频| 亚洲精品视频二区| 麻豆亚洲精品| 久久高清一区| 亚洲午夜伦理| 亚洲日韩欧美一区二区在线| 国产精品一级二级三级| 欧美美女操人视频| 巨胸喷奶水www久久久免费动漫| 亚洲视频综合| 亚洲国产精品t66y| 久久婷婷蜜乳一本欲蜜臀| 亚洲欧美日韩国产中文| 99www免费人成精品| 亚洲第一视频| 精东粉嫩av免费一区二区三区| 国产精品视频网| 国产精品成人观看视频免费| 欧美国内亚洲|