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

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 閱讀(3107) 評論(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年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

導航

統計

常用鏈接

留言簿(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成人精品| 欧美日韩在线电影| 国模精品一区二区三区| 亚洲精品一区在线| 久久免费午夜影院| 亚洲先锋成人| 亚洲理伦在线| 亚洲激情社区| 91久久精品一区二区别| 一区二区亚洲欧洲国产日韩| 国产精品一卡| 国产精品腿扒开做爽爽爽挤奶网站| 欧美va亚洲va国产综合| 久久精品免费播放| 亚洲一二三级电影| 在线一区观看| 亚洲手机成人高清视频| 亚洲经典一区| 亚洲国产aⅴ天堂久久| 亚洲美女精品久久| 在线一区二区三区做爰视频网站 | 久久www免费人成看片高清| 欧美一区深夜视频| 久久久久高清| 欧美日韩免费观看中文| 国产精品久久久久国产a级| 国产综合自拍| 亚洲视频高清| 久久久噜噜噜久久中文字幕色伊伊| 欧美亚洲日本国产| 久久精品亚洲| 欧美中文字幕不卡| 久久国产精品99国产精| 久久综合九色| 亚洲肉体裸体xxxx137| 一区二区福利| 久久精品伊人| 国产噜噜噜噜噜久久久久久久久| 91久久中文字幕| 亚洲电影激情视频网站| 欧美成人精品1314www| 亚洲精品乱码视频| 欧美中文字幕不卡| 欧美视频一区二区| 狠狠色综合一区二区| 一区二区日韩精品| 欧美日韩国产在线播放网站| 国产精品社区| 亚洲一二三四区| 欧美肥婆在线| 久久一本综合频道| 国精产品99永久一区一区| 在线视频一区二区| 亚洲国产精品尤物yw在线观看| 亚洲欧美综合精品久久成人| 欧美三级在线视频| 一本色道88久久加勒比精品| 米奇777在线欧美播放| 欧美在线综合| 狠狠干综合网| 免费视频久久| 欧美风情在线| 一区二区三区黄色| 一本色道久久| 国产伦精品一区二区三区高清版| 久久尤物视频| 国产真实乱偷精品视频免| 久久精品国产99国产精品澳门 | 欧美一区中文字幕| 韩国一区二区三区美女美女秀| 久久99在线观看| 久久精品国产亚洲一区二区| 在线观看国产日韩| 宅男66日本亚洲欧美视频| 国产日韩亚洲欧美| 欧美成人午夜剧场免费观看| 欧美日韩三级一区二区| 久久福利毛片| 亚洲精品色图| 先锋亚洲精品| 在线观看一区| 中文精品99久久国产香蕉| 亚洲国产精品第一区二区| 亚洲视频每日更新| 亚洲电影免费在线观看| 久久久99免费视频| 久久精品91久久香蕉加勒比| 国产综合视频| 亚洲欧洲日产国产网站| 欧美午夜精品理论片a级按摩 | 欧美伊人影院| 亚洲调教视频在线观看| 亚洲一区二区黄色| 久久精品一区二区| 99视频精品免费观看| 久久久99国产精品免费| 亚洲色在线视频| 欧美激情一区二区三区高清视频| 久久精品亚洲精品国产欧美kt∨| 国产精品成人一区二区三区吃奶 | 国产精品一区一区| 亚洲国产合集| 在线观看不卡av| 久久伊人精品天天| 亚洲国产成人精品久久| 中文精品视频| 国产午夜精品美女毛片视频| 久久精品亚洲国产奇米99| 欧美福利电影在线观看| 亚洲理论在线观看| 国产精品久久久久aaaa九色| 老**午夜毛片一区二区三区| 黑人极品videos精品欧美裸| 久久久亚洲欧洲日产国码αv| 欧美成人r级一区二区三区| 亚洲黄色在线观看| 欧美日韩一区二区三区四区在线观看| aa国产精品| 欧美黄色精品| 欧美一区激情| 一卡二卡3卡四卡高清精品视频| 欧美亚日韩国产aⅴ精品中极品| 香蕉久久一区二区不卡无毒影院 | 国产精品推荐精品| 午夜精品免费在线| 99国产精品久久| 亚洲第一久久影院| 久久成人精品视频| 亚洲一区精品电影| 日韩视频欧美视频| 国产一区二区三区免费观看 | 亚洲永久免费av| 99精品国产一区二区青青牛奶| 国产精品自拍视频| 国产精品免费一区豆花| 欧美日本一区二区视频在线观看 | 亚洲精品视频免费观看| 国产午夜精品一区理论片飘花| 99av国产精品欲麻豆| 99视频热这里只有精品免费| 亚洲精品三级| 中文一区在线| 亚洲一区二区不卡免费| 亚洲人永久免费| 亚洲免费观看视频| 久久高清免费观看| 亚洲午夜视频在线| 国产精品99久久久久久有的能看| 最新高清无码专区| 亚洲欧美在线免费观看| 欧美 亚欧 日韩视频在线| 日韩网站免费观看| 久久久亚洲综合| 黄色成人免费观看| 午夜在线电影亚洲一区| 亚洲国产精品第一区二区三区| 性亚洲最疯狂xxxx高清| 欧美三级午夜理伦三级中视频| 亚洲激情婷婷| 亚洲高清视频一区二区| 快she精品国产999| 亚洲高清自拍| 亚洲高清视频的网址| 久久综合狠狠综合久久综青草| 国产精品揄拍一区二区| 欧美在线看片a免费观看| 午夜精品一区二区三区在线| 国产精品主播| 欧美激情精品久久久久| 欧美成人自拍视频| 一区二区免费在线观看| 亚洲免费电影在线观看| 欧美三级电影一区| 亚洲三级影院| 欧美大片免费观看| 欧美高清不卡| 亚洲曰本av电影| 亚洲欧美激情视频| 在线看欧美日韩| 亚洲女人天堂成人av在线| 国产亚洲一级高清| 欧美不卡视频| 国产欧美在线播放| 亚洲精品乱码久久久久久久久 | 亚洲午夜精品一区二区| 在线亚洲国产精品网站| 六十路精品视频| 亚洲手机在线| 久久一区精品| 久久久www成人免费无遮挡大片| 欧美高清在线一区| 另类尿喷潮videofree| 欧美视频在线观看 亚洲欧| 欧美成人免费在线观看| 国产一区二区三区四区| 一个色综合导航| 亚洲欧洲一区二区在线播放| 久久国产精品黑丝| 欧美一级免费视频| 国产毛片精品国产一区二区三区|