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

posts - 126,  comments - 73,  trackbacks - 0

richedit 常見使用問題
一.常見問題
a.可以編譯,不能執(zhí)行的


在需要在相應(yīng)的對話框中加上InitInstance(void)函數(shù)中添加

AfxInitRichEdit();

b.升級默認(rèn)的Riched版本(默認(rèn)的有一些bug),如
可在InitInstance中添加
LoadLibrary("RICHED20.DLL")
最后注意 FreeLibrary

如果是CRichEditView基類的可用
BOOL CXXXXXXView::PreCreateWindow(CREATESTRUCT& cs)
{
//裝入rich edit version 2.0
if (LoadLibraryA("RICHED20.DLL") == NULL)
{
AfxMessageBox(_T("Fail to load \"riched20.dll\"."),MB_OK | MB_ICONERROR);
PostMessage(WM_QUIT,0,0);
return FALSE;
}

m_strClass = RICHEDIT_CLASSA;//for 2.0 class

return CRichEditView::PreCreateWindow(cs);
}

c.最后追加行
richeditctrl.SetSel(-1, -1);
richeditctrl.ReplaceSel( (LPCTSTR)str );

d.字?jǐn)?shù)限制
CRichEditCtrl::LimitText(long nChars)

e.換行切換
CRichEditView的OnInitialUpdate()函數(shù)中加入下面兩句:
m_nWordWrap = WrapNone;
WrapChanged();
WrapChanged實(shí)際上也是調(diào)用
ctrl.SetTargetDevice(NULL, 1); //m_nWordWrap == WrapNone
ctrl.SetTargetDevice(NULL, 0); //m_nWordWrap == WrapToWindow
還有不常用的 m_nWordWrap == WrapToTargetDevice
ctrl.SetTargetDevice(m_dcTarget, GetPrintWidth());
如果是在Dialog中,可使用SetTargetDevice,注意在屬性里面加上want return

f.有時候不希望帶格式的數(shù)據(jù)粘貼,可通過PasteSpecial選擇性粘貼
pmyRichEditCtrl->PasteSpecial(CF_TEXT);

g.隨著輸入隨著自動滾動條滾動到最后一行
int nFirstVisible = pmyRichEditCtrl->GetFirstVisibleLine();
if (nFirstVisible > 0)
{
??? pmyRichEditCtrl->LineScroll(-nFirstVisible, 0);
}

m_cRichEdit.PostMessage(WM_VSCROLL, SB_BOTTOM,0);


h.設(shè)置UNDO的次數(shù)(只能用在RICHED20以上,即默認(rèn)不支持,必須升級)
SendMessage(EM_SETTEXTMODE,TM_MULTILEVELUNDO,0);
TM_MULTILEVELUNDO 支持多取消(默認(rèn)值).可通過EM_SETUNDOLIMIT設(shè)置最大次數(shù)
SendMessage(EM_SETUNDOLIMIT,100,0);

i.響應(yīng)OnChange
EM_SETEVENTMASK 設(shè)置 ENM_CHANGE
long lMask = GetEventMask();
lMask |= ENM_CHANGE;
lMask &= ~ENM_PROTECTED;
SetEventMask(lMask);

j.設(shè)置只讀
CRichEditCtrl::SetReadOnly( BOOL bReadOnly = TRUE );
通過設(shè)置PROTECTED實(shí)現(xiàn)選中的文本只讀,參見
http://www.codeguru.com/Cpp/controls/richedit/article.php/c2401/


二.函數(shù)應(yīng)用
a.設(shè)置字體(主要是通過SetSelectionCharFormat)
CHARFORMAT cf;
rich.GetSelectionCharFormat(cf);
cf.dwMask|=CFM_BOLD;
cf.dwEffects|=CFE_BOLD;//設(shè)置粗體,取消用cf.dwEffects&=~CFE_BOLD;
cf.dwMask|=CFM_ITALIC;
cf.dwEffects|=CFE_ITALIC;//設(shè)置斜體,取消用cf.dwEffects&=~CFE_ITALIC;
cf.dwMask|=CFM_UNDERLINE;
cf.dwEffects|=CFE_UNDERLINE;//設(shè)置斜體,取消用cf.dwEffects&=~CFE_UNDERLINE;
cf.dwMask|=CFM_COLOR;
cf.crTextColor = RGB(255,0,0);//設(shè)置顏色
cf.dwMask|=CFM_SIZE;
cf.yHeight =200;//設(shè)置高度
cf.dwMask|=CFM_FACE;
strcpy(cf.szFaceName ,_T("隸書"));//設(shè)置字體
rich.SetSelectionCharFormat(cf);

b.設(shè)置字體的行間距
要用richedit2.0以上
試試
PARAFORMAT2 pf;
pf.cbSize = sizeof(PARAFORMAT2);
pf.dwMask = PFM_NUMBERING | PFM_OFFSET;
pf.wNumbering = PFN_BULLET;//注意PFM_NUMBERING
pf.dxOffset = 10;
VERIFY(SetParaFormat(pf));
常用的dwMask有
PFM_NUMBERING 成員 wNumbering 才起作用,項(xiàng)目符號,默認(rèn)用PFN_BULLET
2 使用阿拉伯?dāng)?shù)字 (1, 2, 3, ...).?
3 使用小寫字母 (a, b, c, ...).?
4 使用大寫字母 (A, B, C, ...).?
5 使用小寫羅馬數(shù)字 (i, ii, iii, ...).?
6 使用大寫羅馬數(shù)字 (I, II, III, ...).?
7 自定義,字符見成員 wNumberingStart.?
PFM_OFFSET 成員 dxOffset 才起作用,縮進(jìn),單位twips
PFM_STARTINDENT 成員 dxStartIndent 才起作用,首行縮進(jìn)
PFM_SPACEAFTER 成員 dySpaceAfter 才起作用,段間距
PFM_LINESPACING 成員 dyLineSpacing 才起作用,行間距

c.設(shè)置CRichEditCtrl(2.0)背景透明
long style = ::GetWindowLong(GetSafeHwnd(), GWL_EXSTYLE);
style &= WS_EX_TRANSPARENT;
::SetWindowLong(GetSafeHwnd(), GWL_EXSTYLE, style);
或 CreateEx,然后把WS_EX_TRANSPARENT樣式加上

e.得到內(nèi)容有三種
1)GetWindowText
2)使用EM_GETTEXTEX
GETTEXTEX gt;
gt.cb = 200;
gt.flags = GT_DEFAULT;
gt.codepage = CP_ACP ;
gt.lpDefaultChar = NULL;
gt.lpUsedDefChar = NULL;
SendMessage(EM_GETTEXTEX,(WPARAM)&gt,(LPARAM)text);
3)StreamOut(主要用于RTF等格式輸出)
static DWORD CALLBACK
MyStreamOutCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
??? CFile* pFile = (CFile*) dwCookie;

??? pFile->Write(pbBuff, cb);
??? *pcb = cb;

??? return 0;
}


??? CFile cFile(TEXT("myfile.rtf"), CFile::modeCreate|CFile::modeWrite);
??? EDITSTREAM es;
??? es.dwCookie = (DWORD) &cFile;//設(shè)置用例參數(shù),以便回調(diào)函數(shù)調(diào)用
??? es.pfnCallback = MyStreamOutCallback;
??? pmyRichEditCtrl->StreamOut(SF_RTF, es);
讀入可以此類推,SetWindowText,EM_SETTEXTEX,StreamIn

f.查找字符串
FINDTEXTEX ft;
ft.chrg.cpMin = 0;
ft.chrg.cpMax = -1;
ft.lpstrText = "|";
long lPos = FindText(0, &ft);

如果要繼續(xù)查找,修改cpMin,如
int nCount = 0;
do
{
long lPos = GetRichEditCtrl().FindText(0, &ft);
if( -1 == lPos) break;
ft.chrg.cpMin = lPos + strlen(ft.lpstrText);
++nCount;
}while(TRUE);

g.以Html格式保存
目前做法可先轉(zhuǎn)為RTF格式,再通過RTF-to-HTML Converter

http://www.codeguru.com/Cpp/controls/richedit/conversions/article.php/c5377/

h.重載OnProtected函數(shù)得到對應(yīng)的消息,如粘貼等
void CMYichEditorView::OnProtected(NMHDR* pNMHDR, LRESULT* pResult)
{
ENPROTECTED* pEP = (ENPROTECTED*)pNMHDR;

switch (pEP->msg) {
case WM_KEYDOWN://按鍵,判斷pEP->wParam
case WM_PASTE://粘貼
case WM_CUT://剪切
case EM_SETCHARFORMAT:
default:
?? break;
};

*pResult = FALSE;
}

三.聊天常用?
a.LINK 鏈接功能
1.?? LoadLibrary(_T("Riched20.dll"));
2. 創(chuàng)建RichEdit2.0控件
CreateEx(0, _T("RichEdit20A"), NULL, WS_CHILD|WS_VISIBLE|WS_VSCROLL|WS_TABSTOP
|ES_READONLY|ES_WANTRETURN|ES_MULTILINE,
?????????? rect.left, rect.top, cx, cy,
?? pParentWnd->m_hWnd, (HMENU)nID, NULL);
3. 設(shè)定選中的文字為鏈接顯示
CHARFORMAT2 cf2;
ZeroMemory(&cf2, sizeof(CHARFORMAT2));//
cf2.cbSize = sizeof(CHARFORMAT2);
cf2.dwMask = CFM_LINK;
cf2.dwEffects |= CFE_LINK;
m_cRichEdit.SendMessage(EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf2);
4.支持鏈接的點(diǎn)擊響應(yīng)
m_cRichEdit.SetEventMask(ENM_LINK);
5.響應(yīng)鏈接的點(diǎn)擊EN_LINK

BEGIN_MESSAGE_MAP(CMyRichEdit, CRichEditCtrl)
ON_NOTIFY_REFLECT(EN_LINK,OnURL)
END_MESSAGE_MAP()
......

void CMyRichEdit::OnURLClick(NMHDR *pNmhdr, LRESULT *pResult)
{
TCHAR LinkChar[512];
ENLINK *pLink = (ENLINK *)pNmhdr;
if (pLink->msg == WM_LBUTTONUP)
{
SetSel(penLink->chrg);//這是鏈接的文字范圍
long Res = GetSelText((char *)LinkChar);//這是鏈接文字
?????????????????? //后面是你的處理過程
?????????????????? ......
????????? }
}

b.插入位圖
http://www.codeguru.com/Cpp/controls/richedit/article.php/c2417/
http://www.codeguru.com/Cpp/controls/richedit/article.php/c5383/

自定義在RichEdit中插入對象的圖標(biāo)
http://www.blogcn.com/user3/jiangsheng/blog/1319738.html
方法基本同Knowledge Base文章Q220844 HOWTO: Insert a Bitmap Into an RTF Document Using the RichEdit Control
只是在最后插入之前調(diào)用一下IOleCache::SetData,用一個HGLOBAL作為參數(shù),HGLOBAL里面的數(shù)據(jù)是一個METAFILEPICT結(jié)構(gòu),包含自己提供的圖片

使用CRichEditView::InsertFileAsObject就可以插入圖像。VC++帶有一個例子WordPad。
另外可以參考“Insert any HBITMAP (Bitmap) in your RichEdit Control”(http://www.codeguru.com/richedit/richeditrc.html)。

c.顯示GIF動畫
常用的是通過qq的imageole.dll(也有用Gif89.dll的)
http://www.xiaozhou.net/cooldog/blogview.asp?logID=82
http://www.codeproject.com/richedit/AnimatedEmoticon.asp

在richedit控件中插入動態(tài)GIF (Native C++版)
http://blog.joycode.com/jiangsheng/archive/2004/12/15/41209.aspx

d.IRichEditOleCallback的使用
http://61.186.252.131/Expert/topic/905/905844.xml?temp=.8379022

類似 MSN 信息發(fā)送框的制作(上)
http://www.vckbase.com/document/viewdoc/?id=1087
內(nèi)容包含:實(shí)現(xiàn)右鍵菜單,圖片插入,讀取/寫入RTF格式字符串

自定義 CRichEditCtrl 控件
http://www.vckbase.com/document/viewdoc/?id=328
內(nèi)容包含:鼠標(biāo)右鍵消息,消息映射,字體變換

PS.richedit控件升級到2.0后,先把字體設(shè)為楷體,輸入漢字沒有問題,但輸入字母時,字母自動跳轉(zhuǎn)為Arial字體,而1.0卻沒有這個文題,仍然是用楷體顯示字母
是一個專門的設(shè)計(jì) Dual-font, Smart font apply, 參見 http://61.186.252.131/Expert/topic/913/913807.xml?temp=.3753778

不能顯示圖片等其他OLE對象

MFC提供的CRichEditCtrl沒有提供直接顯示圖片等OLE對象的屬性或方法設(shè)置,但是提供了一個接口SetOLECallback( IRichEditOleCallback* pCallback );
要讓CRichEditCtrl顯示圖片,就得在IRichEditOleCallback上下功夫。
IRichEditOleCallback是windows中的接口,它的定義如下:
ContextSensitiveHelp:
??? 通過該方法通知應(yīng)用程序它將以上下文關(guān)聯(lián)方式調(diào)度幫助。
DeleteObject:
??? 通過該方法發(fā)出通知:一個對象即將從RichEdit控件中刪除
GetClipboardData:
??? 通過該方法允許RichEdit的客戶端(調(diào)用程序)提供自己的粘貼對象
GetContextMenu:
??? 通過該方法向應(yīng)用程序提出通過鼠標(biāo)右鍵事件來獲取上下文菜單的請求
GetDragDropEffect:
??? 通過該方法允許RichEdit的客戶端(調(diào)用程序)設(shè)置拖動操作的效果
GetInPlaceContext:
?? 通過該方法提供了應(yīng)用程序級和文檔級接口,以及必要的支持In-place激活的信息
GetNewStrorage:
??? 通過該方法存儲從粘貼板或超文本流(RTF)中讀取的新對象
QueryAcceptData:
??? 通過該方法決定在粘貼操作或拖放操作中引入的數(shù)據(jù)是否可以被接受。
QueryInsertObject:
??? 通過該方法向應(yīng)用程序詢問某個對象是否可以被插入
ShowContainerUI:
??? 通過該方法告知應(yīng)用程序是否顯示自己的操作界面

大致了解了IRichEditOleCallback接口后,就應(yīng)該清楚,要顯示圖片等ole對象,至少應(yīng)該實(shí)現(xiàn)GetNewStorage方法,因?yàn)樵摲椒ㄊ谴鎯le對象的接口方法。

以下是接口聲明的代碼:
??? interface IExRichEditOleCallback;?? // forward declaration (see below in this header file)

?? IExRichEditOleCallback* m_pIRichEditOleCallback;
?? BOOL m_bCallbackSet;
??
??
?? interface IExRichEditOleCallback : public IRichEditOleCallback
?? {
?? public:
?????? IExRichEditOleCallback();
?????? virtual ~IExRichEditOleCallback();
?????? int m_iNumStorages;
?????? IStorage* pStorage;
?????? DWORD m_dwRef;

?????? virtual HRESULT STDMETHODCALLTYPE GetNewStorage(LPSTORAGE* lplpstg);
?????? virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void ** ppvObject);
?????? virtual ULONG STDMETHODCALLTYPE AddRef();
?????? virtual ULONG STDMETHODCALLTYPE Release();
?????? virtual HRESULT STDMETHODCALLTYPE GetInPlaceContext(LPOLEINPLACEFRAME FAR *lplpFrame,
?????????? LPOLEINPLACEUIWINDOW FAR *lplpDoc, LPOLEINPLACEFRAMEINFO lpFrameInfo);
??????? virtual HRESULT STDMETHODCALLTYPE ShowContainerUI(BOOL fShow);
??????? virtual HRESULT STDMETHODCALLTYPE QueryInsertObject(LPCLSID lpclsid, LPSTORAGE lpstg, LONG cp);
??????? virtual HRESULT STDMETHODCALLTYPE DeleteObject(LPOLEOBJECT lpoleobj);
??????? virtual HRESULT STDMETHODCALLTYPE QueryAcceptData(LPDATAOBJECT lpdataobj, CLIPFORMAT FAR *lpcfFormat,
?????????? DWORD reco, BOOL fReally, HGLOBAL hMetaPict);
??????? virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode);
??????? virtual HRESULT STDMETHODCALLTYPE GetClipboardData(CHARRANGE FAR *lpchrg, DWORD reco, LPDATAOBJECT FAR *lplpdataobj);
??????? virtual HRESULT STDMETHODCALLTYPE GetDragDropEffect(BOOL fDrag, DWORD grfKeyState, LPDWORD pdwEffect);
??????? virtual HRESULT STDMETHODCALLTYPE GetContextMenu(WORD seltyp, LPOLEOBJECT lpoleobj, CHARRANGE FAR *lpchrg,
?????????? HMENU FAR *lphmenu);
?? };

-----------------------------------------------------------------------

注:
??????? 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中光標(biāo)狀態(tài)并得到選中內(nèi)容(richedit同樣適用)

??????? int nStart, nEnd;
??????? CString strTemp;

??????? m_edit1.GetSel(nStart, nEnd);
??????? if(nStart == nEnd)
??????? {
??????????? strTemp.Format(_T("光標(biāo)在%d"), nStart);
??????????? AfxMessageBox(strTemp);
??????? }
??????? else
??????? {
??????????? //得到edit選中的內(nèi)容???
??????????? m_edit1.GetWindowText(strTemp);
??????????? strTemp = strTemp.Mid(nStart) - strTemp.Mid(nEnd);
??????????? AfxMessageBox(strTemp);
??????? }
??? 注:GetSel后,如果nStart和nEnd,表明光標(biāo)處于某個位置(直觀來看就是光標(biāo)在閃動);
???????????? 如果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消息映射。下面一個例子實(shí)現(xiàn)了限定輸入16進(jìn)制字符的功能。

?? 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.
??? 方法二:以對話框?yàn)槔?br />?????? (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.當(dāng)edit控件的父窗口屬性是帶標(biāo)題欄WS_CAPTION和子窗口WS_CHILD時,不能設(shè)置焦點(diǎn)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的風(fēng)格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


本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/qsycn/archive/2009/11/10/4793461.aspx

?

本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/abcpanpeng/archive/2010/04/21/5509680.aspx

posted on 2010-11-03 15:51 我風(fēng) 閱讀(21745) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(12)

隨筆分類

隨筆檔案

文章檔案

相冊

收藏夾

C++

MyFavorite

搜索

  •  

積分與排名

  • 積分 - 328993
  • 排名 - 75

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产情人节一区| 欧美国产三区| 在线观看三级视频欧美| 国产精品亚洲一区| 国产精品户外野外| 国产精品国产a级| 国产精品裸体一区二区三区| 国产精品一区视频| 亚洲电影在线| 99re视频这里只有精品| 亚洲伊人一本大道中文字幕| 中文在线资源观看网站视频免费不卡 | 欧美激情在线免费观看| 欧美高清视频一区二区| 91久久国产精品91久久性色| 欧美国产丝袜视频| 亚洲自拍偷拍麻豆| 免费日韩视频| 国产日韩亚洲欧美综合| 在线精品亚洲| 午夜亚洲激情| 亚洲三级色网| 浪潮色综合久久天堂| 国产精品视频内| 一本久道综合久久精品| 狼人社综合社区| 午夜伦欧美伦电影理论片| 欧美激情一区二区三区四区| 国产一区二区无遮挡| 亚洲免费在线观看| 亚洲免费电影在线| 免费久久精品视频| 狠狠狠色丁香婷婷综合久久五月| 99国产精品视频免费观看| 欧美激情一区二区| 美女图片一区二区| 在线观看欧美黄色| 欧美成人第一页| 久久久人成影片一区二区三区| 国产精品一区一区三区| 性久久久久久| 久久精品一二三区| 18成人免费观看视频| 欧美阿v一级看视频| 蜜臀a∨国产成人精品| 亚洲人成网站在线观看播放| 在线观看av一区| 欧美高清在线视频| 欧美日韩另类在线| 欧美在线不卡| 欧美国产一区二区在线观看| 亚洲在线电影| 久久久久久高潮国产精品视| 中文精品在线| 欧美在线在线| 在线一区观看| 久久精品91| 亚洲男人的天堂在线观看| 久久免费黄色| 欧美在线高清| 欧美日韩成人精品| 久久久蜜臀国产一区二区| 欧美日韩国产一区精品一区| 久久久久久久久久码影片| 欧美日韩国产精品| 每日更新成人在线视频| 欧美性猛交99久久久久99按摩| 久久久久久久一区二区| 国产精品白丝av嫩草影院| 嫩草国产精品入口| 国产一区二区三区直播精品电影| 在线午夜精品| 99综合电影在线视频| 久久一区激情| 欧美 日韩 国产 一区| 亚洲成人在线视频播放| 久久―日本道色综合久久| 亚洲欧美日韩专区| 欧美肉体xxxx裸体137大胆| 亚洲第一黄网| 日韩午夜高潮| 欧美视频在线观看免费| 亚洲裸体视频| 欧美日韩中文字幕在线| 日韩午夜电影| 午夜精品视频网站| 国产一区二区黄色| 久久久视频精品| 亚洲激情一区二区三区| 一本大道久久a久久综合婷婷| 欧美日韩午夜激情| 久久不射中文字幕| 欧美成人免费大片| 99精品国产热久久91蜜凸| 国产精品伦一区| 老司机凹凸av亚洲导航| 日韩视频在线你懂得| 久久精品国产久精国产思思| 亚洲第一黄色网| 国产精品成人观看视频国产奇米| 午夜久久久久久| 亚洲美女视频| 亚洲国产精品毛片| 久久久久久久久久久久久久一区| 日韩一级精品| 尤物视频一区二区| 国产精品卡一卡二卡三| 快播亚洲色图| 欧美在线资源| 亚洲一区二区在线视频| 欧美高清免费| 欧美成人免费网| 欧美成人r级一区二区三区| 午夜精品理论片| 在线午夜精品| 夜夜嗨网站十八久久| 亚洲毛片在线观看.| 91久久久久久久久久久久久| 亚洲大片av| 亚洲精品一区二| 亚洲精选国产| 亚洲一区二区黄色| 欧美日本在线看| 久久成人综合网| 午夜免费在线观看精品视频| 亚洲欧美日韩国产一区| 欧美一区在线直播| 久久噜噜噜精品国产亚洲综合| 久久精品99| 久久午夜电影网| 欧美视频四区| 国产一区二区| 日韩视频在线观看免费| 亚洲性感美女99在线| 欧美一区二区三区久久精品茉莉花| 亚洲午夜成aⅴ人片| 久久只有精品| 99综合电影在线视频| 久久国产精品第一页| 欧美日韩成人精品| 黑人巨大精品欧美一区二区小视频| 亚洲国产精品福利| 亚洲综合好骚| 亚洲欧洲综合| 免费91麻豆精品国产自产在线观看| 免费在线成人| 狠狠色狠色综合曰曰| 亚洲综合成人在线| 亚洲精品免费在线观看| 久久先锋影音av| 国产精品一区二区在线观看网站| 在线电影院国产精品| 久久久人人人| 久久午夜羞羞影院免费观看| 国产伦精品一区二区三区照片91| 亚洲精品美女在线观看| 女女同性精品视频| 久久午夜精品一区二区| 亚洲高清不卡在线观看| 免费视频一区二区三区在线观看| 欧美在线高清| 在线观看一区视频| 亚洲国产va精品久久久不卡综合| 久久人人97超碰人人澡爱香蕉| 激情综合视频| 91久久在线观看| 亚洲人成久久| 欧美日韩在线一区二区三区| 亚洲校园激情| 欧美亚洲一区二区在线| 韩国精品久久久999| 免费欧美高清视频| 欧美精品一区二区三区蜜桃| 亚洲一区精品视频| 久久大综合网| 最新国产成人在线观看| 99天天综合性| 国产亚洲综合在线| 欧美成人精品三级在线观看| 欧美日产国产成人免费图片| 久久精品国产亚洲a| 欧美理论电影在线观看| 久久爱www.| 欧美日韩三级视频| 女人色偷偷aa久久天堂| 国产精品日本一区二区| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲国产裸拍裸体视频在线观看乱了中文 | 久久精品人人| 香蕉久久精品日日躁夜夜躁| 欧美成人精品在线视频| 久久精品视频在线播放| 欧美一级理论性理论a| 亚洲一区二区伦理| 欧美激情第4页| 亚洲日本黄色| 亚洲精品国精品久久99热一| 久久免费少妇高潮久久精品99| 欧美一区二区三区男人的天堂| 欧美日韩亚洲另类|