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

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>
            亚洲电影在线| 久久久久久噜噜噜久久久精品| 国产精品一区二区三区四区| 麻豆freexxxx性91精品| 欧美日本免费| 久久精品2019中文字幕| 欧美日韩伦理在线免费| 美女精品一区| 国产伦精品一区二区三区免费迷| 亚洲国产成人久久综合| 国内精品久久久久久| 99国产精品久久久久老师 | 免费亚洲一区| 久久国内精品视频| 国产精品久久777777毛茸茸| 91久久精品一区二区别| 亚洲第一久久影院| 久久九九精品99国产精品| 午夜日韩在线| 国产精品久久久久久影院8一贰佰| 欧美一区二区三区四区在线观看地址| 久久久久国产一区二区三区| 亚洲欧美在线观看| 欧美日本韩国一区| 亚洲美女在线看| 亚洲美女黄色片| 欧美大成色www永久网站婷| 久热国产精品视频| 一区二区三区在线不卡| 欧美在线看片| 久久久水蜜桃| 悠悠资源网亚洲青| 久久精品一区四区| 欧美国产亚洲精品久久久8v| 亚洲电影欧美电影有声小说| 久久综合精品国产一区二区三区| 欧美与欧洲交xxxx免费观看| 樱桃国产成人精品视频| 欧美在线免费观看| 久久免费偷拍视频| 在线精品国精品国产尤物884a| 久久精品日产第一区二区三区 | 亚洲视频你懂的| 欧美日韩视频在线一区二区| 日韩视频免费观看高清在线视频| 一本色道久久综合狠狠躁篇怎么玩| 欧美精品一区二区三区蜜桃 | 国产精品美腿一区在线看| 亚洲综合成人在线| 久久综合伊人77777蜜臀| 亚洲欧洲日本专区| 国产精品久久久久久久久久妞妞| 午夜精品影院| 亚洲第一精品夜夜躁人人爽| 99精品国产一区二区青青牛奶| 国产精品成人v| 午夜在线不卡| 亚洲人体1000| 欧美一区二区在线播放| 在线观看日韩www视频免费| 欧美日本高清一区| 性久久久久久| 欧美激情四色| 亚洲欧美综合网| 欧美日韩福利视频| 欧美在线免费播放| 亚洲高清网站| 亚洲影院色在线观看免费| 国产精品日韩一区二区三区| 久久精品国产999大香线蕉| 欧美福利一区| 亚洲精选大片| 欧美日韩免费| 性欧美xxxx视频在线观看| 欧美va天堂在线| 亚洲欧洲日夜超级视频| 欧美视频四区| 亚洲国产视频直播| 亚洲一区视频在线| 精品成人一区二区三区| 欧美精品1区2区3区| 99综合电影在线视频| 久久免费偷拍视频| 亚洲精品久久嫩草网站秘色| 国产欧美日韩在线播放| 欧美本精品男人aⅴ天堂| 亚洲无人区一区| 欧美二区不卡| 羞羞答答国产精品www一本| 在线一区免费观看| 精品成人一区二区三区| 欧美视频中文字幕| 久久一综合视频| 亚洲欧美国产77777| 欧美国产欧美综合| 久久综合激情| 午夜精品久久久久久久久久久| …久久精品99久久香蕉国产 | 欧美视频一区二区三区四区| 久久久人成影片一区二区三区| 亚洲精品一区二区三区婷婷月 | 亚洲欧美日韩一区二区三区在线观看 | 亚洲宅男天堂在线观看无病毒| 在线成人激情| 国产美女一区二区| 国产亚洲欧洲| 国产精品电影观看| 欧美日韩国产影院| 欧美国产视频在线观看| 久久大逼视频| 欧美一二三区在线观看| 91久久极品少妇xxxxⅹ软件| 欧美电影资源| 美日韩丰满少妇在线观看| 欧美在线视频在线播放完整版免费观看 | 蜜臀av性久久久久蜜臀aⅴ| 欧美一级黄色录像| 亚洲欧美日本日韩| 亚洲宅男天堂在线观看无病毒| 久久综合久久久久88| 欧美一区二区免费| 欧美一级理论片| 国产精品99久久久久久人| 亚洲免费小视频| 亚洲一区二区在线| 亚洲性线免费观看视频成熟| 亚洲精品一区二| 亚洲成人在线观看视频| 亚洲福利视频网| 亚洲欧洲精品一区二区| 最近中文字幕日韩精品 | 国产麻豆91精品| 国产精品一区二区男女羞羞无遮挡| 欧美视频精品一区| 国产精品家教| 国内精品美女在线观看| 激情欧美亚洲| 亚洲国产视频一区二区| 亚洲人成欧美中文字幕| 亚洲日本成人| 一本色道久久88亚洲综合88| 夜夜嗨av一区二区三区免费区| 亚洲午夜在线观看| 亚洲欧美久久久久一区二区三区| 欧美在线二区| 老司机aⅴ在线精品导航| 奶水喷射视频一区| 亚洲精品乱码久久久久久黑人| 亚洲美女淫视频| 欧美一区激情| 猛干欧美女孩| 国产精品国产三级国产aⅴ入口 | 国产农村妇女毛片精品久久莱园子 | 国产麻豆成人精品| 激情综合网址| 日韩亚洲国产欧美| 亚洲一区二区三区影院| 可以看av的网站久久看| 亚洲国产高潮在线观看| 一本大道久久a久久精品综合| 在线中文字幕日韩| 麻豆91精品91久久久的内涵| 欧美日韩国产一区二区三区地区 | 狠狠v欧美v日韩v亚洲ⅴ| 在线中文字幕日韩| 久久久久久亚洲综合影院红桃 | 欧美国产精品v| 国产美女精品免费电影| 亚洲精品美女在线观看| 亚洲综合视频网| 亚洲区在线播放| 欧美一级在线播放| 欧美日韩国产123| 一区二区在线观看视频| 99精品欧美一区二区三区综合在线| 午夜精品一区二区三区在线| 欧美高清在线一区| 一本久久综合亚洲鲁鲁| 欧美激情第9页| 韩国视频理论视频久久| 亚洲视频一区在线| 欧美国产一区视频在线观看| 久久爱www久久做| 国产精品wwwwww| 亚洲久久成人| 欧美不卡在线| 午夜日韩在线观看| 欧美视频在线一区二区三区| 亚洲美女91| 欧美激情成人在线视频| 久久精品国产2020观看福利| 国产精品久久久久久一区二区三区 | 日韩写真视频在线观看| 欧美成人a视频| 欧美在线亚洲综合一区| 国产精一区二区三区| 一区二区三区黄色| 一区二区三区.www| 欧美成人四级电影| 亚洲激情av|