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

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 閱讀(3109) 評論(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亚洲精品| 日韩一级裸体免费视频| 国产一区二区0| 国产婷婷97碰碰久久人人蜜臀| 国产欧美日韩视频一区二区| 国产欧美精品一区二区色综合| 国产日韩在线视频| 亚洲电影免费在线 | 蜜桃av噜噜一区| 毛片基地黄久久久久久天堂| 欧美激情乱人伦| 欧美香蕉大胸在线视频观看| 国产精品视频yy9299一区| 国产亚洲欧美一区二区三区| 在线精品在线| 亚洲一区二区三区四区在线观看| 亚洲一区二区在线视频| 久久成人人人人精品欧| 欧美国产日韩一区二区| 这里只有精品丝袜| 美女主播精品视频一二三四| 欧美午夜在线一二页| 精品成人一区二区三区| 亚洲网站视频| 欧美激情1区| 欧美在线观看视频一区二区| 欧美xart系列高清| 国产真实乱偷精品视频免| 日韩一本二本av| 久久久久久亚洲精品不卡4k岛国| 亚洲第一久久影院| 欧美一级一区| 国产精品r级在线| 亚洲精品美女在线| 久久一区二区三区四区| 亚洲免费影院| 欧美视频日韩视频在线观看| 精品成人一区二区三区| 亚洲你懂的在线视频| 欧美激情va永久在线播放| 香蕉国产精品偷在线观看不卡| 欧美大色视频| 亚洲国产一区二区三区a毛片| 久久精品91| 亚洲免费人成在线视频观看| 欧美女激情福利| 亚洲肉体裸体xxxx137| 久久久人人人| 欧美在线免费观看| 国产欧美日韩在线播放| 亚洲欧美电影院| 在线综合亚洲| 国产精品热久久久久夜色精品三区 | 欧美成人网在线| 久久精品视频在线播放| 国产日韩综合| 久久精品国产亚洲一区二区三区 | 嫩草伊人久久精品少妇av杨幂| 国产亚洲午夜高清国产拍精品| 久久精品一区二区三区中文字幕 | 影视先锋久久| 久久一日本道色综合久久| 亚洲一区二区三区高清 | 国产精品美女在线| 亚洲免费影视| 西瓜成人精品人成网站| 国产亚洲精品久久飘花 | 亚洲视频免费观看| 亚洲美女福利视频网站| 欧美日韩视频专区在线播放 | 欧美诱惑福利视频| 黄色在线成人| 亚洲高清免费在线| 欧美日韩在线一区二区三区| 亚洲一区视频| 欧美一区午夜精品| 亚洲激情在线播放| 一区二区三区四区国产精品| 国产精品免费福利| 美女91精品| 欧美精品性视频| 欧美影院在线| 欧美99在线视频观看| 一区二区三区高清视频在线观看| 99精品热视频| 国产欧美日韩一区二区三区在线观看| 久久人人精品| 欧美色欧美亚洲高清在线视频| 欧美一区二区视频免费观看| 久久九九国产| 亚洲免费在线观看视频| 久久久久久高潮国产精品视| 一本色道**综合亚洲精品蜜桃冫| 亚洲女人天堂av| 亚洲精品一线二线三线无人区| 99热在线精品观看| 亚洲国产精品黑人久久久| 中文av一区二区| 亚洲国语精品自产拍在线观看| 亚洲一区不卡| 一本久久综合| 免费永久网站黄欧美| 欧美一区二区三区男人的天堂| 免费在线看成人av| 久久久www| 国产精品久久久久久久浪潮网站| 欧美国产日韩精品| 国产一区亚洲| 亚洲一区在线播放| 一本久久综合亚洲鲁鲁五月天| 亚洲午夜日本在线观看| 亚洲图中文字幕| 激情成人av| 亚洲午夜免费视频| 日韩视频不卡| 老司机免费视频一区二区三区 | 伊人男人综合视频网| 在线中文字幕不卡| 99精品视频免费观看| 久久久亚洲午夜电影| 欧美一区二区三区在线播放| 欧美日韩久久| 亚洲韩国精品一区| 亚洲高清视频一区| 久久久国产一区二区| 久久激情视频久久| 国产精品日韩在线播放| 在线视频欧美日韩| 亚洲午夜高清视频| 欧美日韩你懂的| 亚洲毛片视频| 亚洲在线观看免费| 国产精品久久久久久久久久久久 | 欧美激情一区二区三区全黄 | 99精品欧美一区二区三区| 免费观看日韩av| 亚洲成人在线视频网站| 亚洲国产中文字幕在线观看| 美女黄网久久| 亚洲精品在线一区二区| 一区二区三区免费网站| 欧美日本精品| 亚洲天堂av综合网| 欧美一区二区免费| 狠狠噜噜久久| 欧美成人一区二区三区在线观看| 亚洲人成网站777色婷婷| 日韩视频一区二区三区在线播放免费观看 | 性做久久久久久免费观看欧美| 欧美一区二区精品在线| 国产精品丝袜91| 欧美中文字幕精品| 亚洲国产导航| 亚洲男人天堂2024| 国产一区香蕉久久| 欧美刺激午夜性久久久久久久| 亚洲精选视频免费看| 亚洲欧美国产毛片在线| 国产主播精品| 欧美日本成人| 久久女同精品一区二区| 亚洲人成人99网站| 欧美色区777第一页| 欧美一区二区黄| 在线一区二区三区四区五区| 亚洲一区一卡| 你懂的网址国产 欧美| 亚洲精品国产品国语在线app| 欧美日韩在线精品| 久久精品国产综合精品| 91久久视频| 欧美在线二区| 亚洲精品视频一区二区三区| 国产精品美女久久久久aⅴ国产馆| 久久狠狠久久综合桃花| 亚洲麻豆一区| 欧美多人爱爱视频网站| 午夜精品久久久久久久男人的天堂| 激情视频亚洲| 国产精品自拍小视频| 欧美高清在线视频| 久久国产精品一区二区三区四区| 亚洲精品国产精品国产自| 久久国产精品久久久久久| 日韩西西人体444www| 狠狠色综合色综合网络| 国产精品久久7| 欧美日韩另类在线| 欧美va天堂va视频va在线| 欧美一区二区三区成人| 一区二区三区高清在线观看| 欧美成人午夜激情在线| 久久爱另类一区二区小说| 一区二区精品在线| 亚洲国产精品久久久久秋霞蜜臀| 国产喷白浆一区二区三区| 欧美日韩在线看| 欧美日韩视频| 欧美日韩hd|