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

春暖花開
雪化了,花開了,春天來了
posts - 149,comments - 125,trackbacks - 0
【原】CEdit & CRichEdit 使用技巧
作者:lixiaosan
日期:04/07/2006


注:
        m_edit1代表ID為IDC_EDIT1的CEdit控件的control類型的變量
        m_richedit1代表ID為IDC_RICHEDIT1的CRichEditCtrl控件的control類型的變量


1.設(shè)置edit只讀屬性

    方法一:
                m_edit1.SetReadOnly(TRUE);
    方法二:
                ::SendMessage(m_edit1.m_hWnd, EM_SETREADONLY, TRUE, 0);


2.判斷edit中光標狀態(tài)并得到選中內(nèi)容(richedit同樣適用)

        int nStart, nEnd;
        CString strTemp;

        m_edit1.GetSel(nStart, nEnd);
        if(nStart == nEnd)
        {
            strTemp.Format(_T("光標在%d"), nStart);
            AfxMessageBox(strTemp);
        }
        else
        {
            //得到edit選中的內(nèi)容    
            m_edit1.GetWindowText(strTemp);
            strTemp = strTemp.Mid(nStart) - strTemp.Mid(nEnd);
            AfxMessageBox(strTemp);
        }
    注:GetSel后,如果nStart和nEnd,表明光標處于某個位置(直觀來看就是光標在閃動);
             如果nStart和nEnd不相等,表明用戶在edit中選中了一段內(nèi)容。


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消息映射。下面一個例子實現(xiàn)了限定輸入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及以后版本創(chuàng)建的工程)
            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指定區(qū)域的顏色及字體

        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("隸書"));//設(shè)置字體
    
        m_richedit1.SetSel(1, 5); //設(shè)置處理區(qū)域
        m_richedit1.SetSelectionCharFormat(cf);


9.設(shè)置行間距(只適用于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選中內(nèi)容只讀

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無響應(yīng)的問題

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時,不能設(shè)置焦點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. 動態(tài)創(chuàng)建的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 2008-07-24 13:01 Sandy 閱讀(575) 評論(0)  編輯 收藏 引用 所屬分類: 界面控件學習
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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国产精品酒店日本| 亚洲社区在线观看| 亚洲精品影视| 亚洲桃花岛网站| 午夜精品久久久久久久白皮肤| 午夜电影亚洲| 久久一二三区| 亚洲三级网站| 日韩一区二区精品| 亚洲欧美久久| 欧美jizzhd精品欧美喷水 | 久久精品国产综合| 欧美88av| 国产精品夜夜夜| 亚洲第一黄色| 亚洲欧美日韩成人| 久久视频这里只有精品| 亚洲电影一级黄| 亚洲午夜视频| 免费av成人在线| 国产麻豆成人精品| 日韩一级黄色av| 久久久久一区二区三区| 91久久中文字幕| 久久国产精品亚洲77777| 欧美屁股在线| 亚洲电影欧美电影有声小说| 性欧美videos另类喷潮| 亚洲国产毛片完整版| 欧美一区国产二区| 欧美三区在线视频| 亚洲精品黄色| 老司机一区二区三区| 一本色道久久88亚洲综合88| 久久综合给合| 国产一区二区三区观看| 亚洲性线免费观看视频成熟| 欧美gay视频| 欧美一区二区在线观看| 国产精品久久久久婷婷| 国产一区二区三区精品欧美日韩一区二区三区 | 久久亚洲精品伦理| 99视频精品全部免费在线| 久久久精品国产一区二区三区| 国产精品成人av性教育| 日韩香蕉视频| 亚洲成色最大综合在线| 久久精品一本| 国产一区二区三区直播精品电影| 亚洲午夜精品一区二区| 亚洲欧洲日夜超级视频| 蜜桃久久av| 亚洲国产欧美一区二区三区久久| 久久国产精彩视频| 欧美一区二视频在线免费观看| 国产精品日韩高清| 午夜在线一区| 亚洲综合99| 国产欧美韩日| 久久久999国产| 欧美在线播放一区| 极品日韩久久| 欧美成年人网站| 欧美暴力喷水在线| 99re亚洲国产精品| 亚洲婷婷综合久久一本伊一区| 欧美午夜精品久久久久久超碰| 亚洲婷婷免费| 香蕉成人伊视频在线观看| 国产一区二区三区最好精华液| 久久在线精品| 欧美精品高清视频| 亚洲欧美日韩中文视频| 欧美一区二区三区四区夜夜大片 | 亚洲午夜一区二区三区| 国产精品网站在线播放| 久久精品理论片| 久久青青草综合| 亚洲乱亚洲高清| 中文国产成人精品久久一| 国产精品视频九色porn| 久久亚洲一区| 欧美区高清在线| 西西裸体人体做爰大胆久久久| 亚洲国产美女久久久久| 亚洲激情在线播放| 国产精品久久久久av| 久久综合色88| 欧美日韩在线视频一区二区| 久久久91精品国产一区二区精品| 免费毛片一区二区三区久久久| 中文久久精品| 国产精品乱码一区二区三区| 久久精品免费观看| 免费中文字幕日韩欧美| 亚洲一区二区在线| 久久性天堂网| 午夜精品久久久久久久99樱桃| 久久免费视频在线观看| 亚洲在线观看视频| 久久综合久久久久88| 亚洲欧美日韩另类精品一区二区三区| 欧美资源在线观看| 中文av字幕一区| 久久这里只有| 久久精品视频导航| 欧美视频在线不卡| 亚洲国产二区| 在线观看亚洲一区| 亚洲欧美日韩在线| 亚洲视频二区| 欧美国产在线观看| 免费不卡在线观看av| 国产精品无码专区在线观看| 亚洲日本中文字幕区| 在线观看精品视频| 欧美一区二区视频在线观看| 亚洲一区免费观看| 欧美日韩国产高清| 亚洲黄色一区二区三区| 伊人男人综合视频网| 亚洲欧美日韩国产成人精品影院| aa国产精品| 欧美电影在线播放| 欧美福利一区二区| 亚洲国产精品久久久久婷婷老年| 欧美怡红院视频| 久久精品亚洲一区二区三区浴池| 国产精品夫妻自拍| 亚洲特色特黄| 午夜久久资源| 国产精品二区在线| 亚洲影院免费| 欧美一区二区三区四区在线| 欧美午夜一区二区福利视频| 日韩写真在线| 亚洲一区二区三区高清不卡| 欧美日韩一区二区三区| 亚洲精品国产日韩| 一区二区冒白浆视频| 欧美日韩一区二| 在线午夜精品| 久久精品成人一区二区三区蜜臀| 国产日韩精品视频一区| 欧美一级视频精品观看| 欧美色综合网| 亚洲综合丁香| 久久蜜桃资源一区二区老牛 | 国产精品地址| 亚洲欧洲99久久| 久久亚洲精品视频| 亚洲国产精品第一区二区| 欧美激情精品久久久久久变态| 欧美电影打屁股sp| 9人人澡人人爽人人精品| 国产精品爱久久久久久久| 亚洲欧美视频| 欧美精品18| 日韩一区二区精品葵司在线| 日韩亚洲欧美高清| 欧美性做爰毛片| 欧美亚洲一区在线| 欧美激情第三页| 亚洲一区二区三区视频| 国产丝袜美腿一区二区三区| 久久久亚洲人| 日韩视频一区二区在线观看 | 欧美日韩第一区| 亚洲欧美日韩国产另类专区| 久久久久久精| 这里只有视频精品| 狠狠久久亚洲欧美| 欧美日韩和欧美的一区二区| 亚洲欧美另类中文字幕| 欧美激情中文不卡| 欧美制服丝袜| 正在播放欧美视频| 激情成人在线视频| 国产精品久久久久aaaa樱花| 久久乐国产精品| 亚洲一级一区| 亚洲激情视频网站| 久久精品91| 午夜精品久久久久久99热软件| 亚洲第一福利社区| 国产欧美日韩亚州综合| 欧美精品尤物在线| 久久女同互慰一区二区三区| 亚洲女爱视频在线| 99在线热播精品免费99热| 亚洲第一在线综合在线| 久久精品亚洲国产奇米99| 亚洲欧美日韩一区在线观看| av72成人在线| 一区二区三区视频在线看| 久久不射中文字幕| 亚洲专区一区二区三区| 99在线观看免费视频精品观看|