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

posts - 126,  comments - 73,  trackbacks - 0

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


在需要在相應的對話框中加上InitInstance(void)函數中添加

AfxInitRichEdit();

b.升級默認的Riched版本(默認的有一些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.字數限制
CRichEditCtrl::LimitText(long nChars)

e.換行切換
CRichEditView的OnInitialUpdate()函數中加入下面兩句:
m_nWordWrap = WrapNone;
WrapChanged();
WrapChanged實際上也是調用
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.有時候不希望帶格式的數據粘貼,可通過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.設置UNDO的次數(只能用在RICHED20以上,即默認不支持,必須升級)
SendMessage(EM_SETTEXTMODE,TM_MULTILEVELUNDO,0);
TM_MULTILEVELUNDO 支持多取消(默認值).可通過EM_SETUNDOLIMIT設置最大次數
SendMessage(EM_SETUNDOLIMIT,100,0);

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

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


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

b.設置字體的行間距
要用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 才起作用,項目符號,默認用PFN_BULLET
2 使用阿拉伯數字 (1, 2, 3, ...).?
3 使用小寫字母 (a, b, c, ...).?
4 使用大寫字母 (A, B, C, ...).?
5 使用小寫羅馬數字 (i, ii, iii, ...).?
6 使用大寫羅馬數字 (I, II, III, ...).?
7 自定義,字符見成員 wNumberingStart.?
PFM_OFFSET 成員 dxOffset 才起作用,縮進,單位twips
PFM_STARTINDENT 成員 dxStartIndent 才起作用,首行縮進
PFM_SPACEAFTER 成員 dySpaceAfter 才起作用,段間距
PFM_LINESPACING 成員 dyLineSpacing 才起作用,行間距

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

e.得到內容有三種
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;//設置用例參數,以便回調函數調用
??? 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);

如果要繼續查找,修改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格式保存
目前做法可先轉為RTF格式,再通過RTF-to-HTML Converter

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

h.重載OnProtected函數得到對應的消息,如粘貼等
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. 創建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. 設定選中的文字為鏈接顯示
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.支持鏈接的點擊響應
m_cRichEdit.SetEventMask(ENM_LINK);
5.響應鏈接的點擊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中插入對象的圖標
http://www.blogcn.com/user3/jiangsheng/blog/1319738.html
方法基本同Knowledge Base文章Q220844 HOWTO: Insert a Bitmap Into an RTF Document Using the RichEdit Control
只是在最后插入之前調用一下IOleCache::SetData,用一個HGLOBAL作為參數,HGLOBAL里面的數據是一個METAFILEPICT結構,包含自己提供的圖片

使用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控件中插入動態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 信息發送框的制作(上)
http://www.vckbase.com/document/viewdoc/?id=1087
內容包含:實現右鍵菜單,圖片插入,讀取/寫入RTF格式字符串

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

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

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

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

大致了解了IRichEditOleCallback接口后,就應該清楚,要顯示圖片等ole對象,至少應該實現GetNewStorage方法,因為該方法是存儲ole對象的接口方法。

以下是接口聲明的代碼:
??? 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.設置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


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/qsycn/archive/2009/11/10/4793461.aspx

?

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/abcpanpeng/archive/2010/04/21/5509680.aspx

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

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   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>
            国产精品国产三级国产专播品爱网| 久久蜜臀精品av| 欧美日韩一区二区在线观看| 免费黄网站欧美| 久久综合中文| 久久亚洲二区| 久久久久**毛片大全| 久久久青草婷婷精品综合日韩| 欧美中文在线观看| 久久免费视频这里只有精品| 美日韩在线观看| 欧美日韩成人一区二区| 国产精品多人| 国产日韩一区在线| 在线观看欧美激情| 亚洲精品免费网站| 亚洲香蕉在线观看| 久久av一区二区三区漫画| 久久综合999| 亚洲国产精品久久久久| 亚洲第一区在线观看| 一区二区三区视频观看| 午夜欧美大片免费观看| 欧美成人精精品一区二区频| 欧美日韩一区在线| 极品av少妇一区二区| 一区二区三区国产| 久久一区免费| 一区二区91| 牛夜精品久久久久久久99黑人| 国产精品jizz在线观看美国 | 久久爱另类一区二区小说| 久久久久网站| 日韩香蕉视频| 久久香蕉国产线看观看av| 国产精品久久久久久久久久尿| 影音先锋日韩有码| 欧美一区二区三区成人| 国产日韩av高清| 久久婷婷色综合| 欧美午夜精品久久久| 亚洲福利一区| 久久久久久久久久久成人| 亚洲美女区一区| 久久五月天婷婷| 国产日韩av高清| 亚洲欧美精品| 99精品国产高清一区二区| 免播放器亚洲| …久久精品99久久香蕉国产| 午夜日韩av| 宅男噜噜噜66一区二区| 欧美剧在线免费观看网站| 亚洲高清av| 另类亚洲自拍| 久久精品国产2020观看福利| 国产亚洲精品久久飘花| 性色av香蕉一区二区| 一区二区三区高清不卡| 欧美日韩黄色一区二区| 一区二区三区蜜桃网| 亚洲精品免费看| 欧美激情一区在线观看| 日韩午夜电影av| 亚洲伦理自拍| 国产精品扒开腿做爽爽爽视频 | 亚洲精品亚洲人成人网| 欧美福利小视频| 免费中文字幕日韩欧美| 亚洲精品国产精品国自产在线 | 久久伊人亚洲| 久久视频这里只有精品| 亚洲福利av| 欧美激情五月| 欧美国产一区二区在线观看| 99精品国产在热久久| 亚洲美女精品成人在线视频| 欧美日韩综合| 欧美一级久久久久久久大片| 午夜宅男久久久| 亚洲福利在线看| 99视频在线观看一区三区| 国产精品成人av性教育| 久久gogo国模裸体人体| 蜜臀99久久精品久久久久久软件 | 欧美激情导航| 亚洲一区二区三区在线播放| 西瓜成人精品人成网站| 欧美第一黄网免费网站| 午夜伦欧美伦电影理论片| 国产麻豆精品视频| 久久这里有精品15一区二区三区| 久久中文字幕导航| 亚洲天堂网在线观看| 午夜亚洲福利| 亚洲精品国产系列| 亚洲丝袜av一区| 樱桃成人精品视频在线播放| 亚洲精品日韩精品| 国产一区二区三区直播精品电影| 欧美成人一区二区在线 | 久久久精品日韩欧美| 99re6热只有精品免费观看| 亚洲深夜影院| 亚洲国产精品va在线看黑人| a91a精品视频在线观看| 国语自产精品视频在线看一大j8| 欧美激情国产高清| 国产嫩草影院久久久久 | 亚洲欧美视频在线观看视频| 亚洲国产电影| 亚洲欧美国产精品va在线观看| 1024欧美极品| 亚洲欧洲99久久| 日韩一二三区视频| 久久精品一区二区三区不卡牛牛 | 欧美黄色日本| 国产日韩av一区二区| 99精品国产在热久久婷婷| 亚洲国产成人久久综合一区| 午夜在线观看免费一区| 午夜精彩国产免费不卡不顿大片| 欧美第十八页| 暖暖成人免费视频| 黄色成人在线观看| 性欧美18~19sex高清播放| 国产精品99久久久久久人| 美女视频黄a大片欧美| 久久亚洲综合色| 国产欧美一区二区三区久久| 一本久道综合久久精品| 日韩一区二区福利| 欧美岛国激情| 亚洲国内欧美| 亚洲精品国产拍免费91在线| 久色婷婷小香蕉久久| 麻豆精品国产91久久久久久| 国内久久精品视频| 欧美中文在线免费| 久久这里只有精品视频首页| 好吊色欧美一区二区三区视频| 性高湖久久久久久久久| 久久久精品999| 黑人巨大精品欧美黑白配亚洲| 欧美一级日韩一级| 久久久久久噜噜噜久久久精品| 国产日韩在线播放| 久久精品导航| 欧美激情一区二区三区高清视频 | 永久555www成人免费| 欧美在线看片a免费观看| 国产精品国色综合久久| 亚洲美女免费视频| 羞羞视频在线观看欧美| 国产精品一区二区黑丝| 性欧美暴力猛交另类hd| 久久香蕉精品| 亚洲激情电影中文字幕| 欧美精品久久久久久| 亚洲美女在线国产| 亚洲欧美一级二级三级| 国产无遮挡一区二区三区毛片日本| 欧美一级黄色录像| 欧美成人一区二区在线| 中文国产成人精品久久一| 国产精品永久免费在线| 久久久综合精品| 亚洲精品欧美激情| 小黄鸭精品aⅴ导航网站入口| 国产一区二区你懂的| 欧美1区免费| 亚洲图片欧洲图片日韩av| 久久亚洲精选| 亚洲视频在线二区| 国内精品福利| 欧美日韩国产成人在线免费| 亚洲尤物视频网| 欧美黑人多人双交| 性欧美办公室18xxxxhd| 日韩视频在线一区二区| 国产欧美日韩精品a在线观看| 久久这里只有| 亚洲欧美99| 亚洲人成艺术| 老司机午夜精品| 亚洲欧美一区二区原创| 亚洲激情网址| 国产一区二区三区高清在线观看| 欧美激情综合在线| 久久精品一区蜜桃臀影院| 亚洲美女性视频| 亚洲第一页自拍| 久久青草欧美一区二区三区| 亚洲性感美女99在线| 亚洲国产影院| 激情久久综合| 国产欧美日韩| 国产精品亚发布| 欧美视频在线看| 欧美女激情福利|