資源簡介
使用MFC制作的仿QQ的抽屜效果,很簡單,希望能幫到大家

代碼片段和文件信息
//?Copyright?(c)?Iuri?Apollonio?1998
//?Use?&?modify?as?you?want?&?need?and?leave?those?4?lines.
//?Strongly?based?on?article?“Inplace?edit?control“?of?Mario?Contestabile?and?“Editable?subitems“?of?Zafir
//?http://www.codeguru.com
//?GfxGroupEdit.cpp?:?implementation?file
//
#include?“stdafx.h“
//#include?“micq.h“
#include?“GfxGroupEdit.h“
#include?“GfxOutBarCtrl.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//?CGfxGroupEdit
CGfxGroupEdit::CGfxGroupEdit()
{
bEscapeKey?=?FALSE;
iIndex?=?-1;
msgSend?=?NM_OB_ONGROUPENDEDIT;
bNoDown?=?false;
}
CGfxGroupEdit::~CGfxGroupEdit()
{
}
BEGIN_MESSAGE_MAP(CGfxGroupEdit?CEdit)
//{{AFX_MSG_MAP(CGfxGroupEdit)
ON_WM_KILLFOCUS()
ON_WM_CREATE()
ON_WM_CHAR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//?CGfxGroupEdit?message?handlers
void?CGfxGroupEdit::OnKillFocus(CWnd*?pNewWnd)?
{
PostMessage(WM_CLOSE?0?0);
if?(!bEscapeKey)
{
GetWindowText(text);
if?(text?!=?““)?GetOwner()->SendMessage(WM_OUTBAR_NOTIFY?msgSend?(LPARAM)?this);
}
}
BOOL?CGfxGroupEdit::PreTranslateMessage(MSG*?pMsg)?
{
if?(pMsg->wParam?==?VK_RETURN)
{
PostMessage(WM_CLOSE?0?0);
return?TRUE;
}
else?if?(pMsg->wParam?==?VK_ESCAPE)
{
PostMessage(WM_CLOSE?0?0);
return?bEscapeKey?=?TRUE;
}
return?CEdit::PreTranslateMessage(pMsg);
}
void?CGfxGroupEdit::PostNcDestroy()?
{
CEdit::PostNcDestroy();
delete?this;
}
int?CGfxGroupEdit::OnCreate(LPCREATESTRUCT?lpCreateStruct)?
{
if?(CEdit::OnCreate(lpCreateStruct)?==?-1)
return?-1;
SendMessage(WM_SETFONT(WPARAM)?GetStockobject(DEFAULT_GUI_FONT)MAKELPARAM(TRUE0));
return?0;
}
void?CGfxGroupEdit::OnChar(UINT?nChar?UINT?nRepCnt?UINT?nFlags)?
{
if?(msgSend?==?NM_OB_ONGROUPENDEDIT)
{
CEdit::OnChar(nChar?nRepCnt?nFlags);
return;
}
if?(nChar?==?VK_ESCAPE?||?nChar?==?VK_RETURN)
{
if?(nChar?==?VK_ESCAPE)?bEscapeKey?=?TRUE;
GetParent()->SetFocus();
return;
}
CEdit::OnChar(nChar?nRepCnt?nFlags);
CString?str;
CRect?rect?parentrect;
GetClientRect(&rect);
GetParent()->GetClientRect(&parentrect);
ClientToScreen(&rect);
GetParent()->ScreenToClient(&rect);
GetWindowText(str);
CWindowDC?dc(this);
CFont?*pFont?=?GetParent()->GetFont();
CFont?*pFontDC?=?dc.Selectobject(pFont);
CRect?szrc(rect);
szrc.bottom?=?szrc.top;
if?(bNoDown?==?true)
{
dc.DrawText(str?szrc?DT_CALCRECT);
if?(szrc.right?>=?parentrect.right?-?1)?rect.right?=?parentrect.right?-?1;
else?rect.right?=?szrc.right;
MoveWindow(&rect);
return;
}
dc.DrawText(str?szrc?DT_WORDBREAK|DT_CENTER|DT_CALCRECT);
dc.Selectobject(pFontDC);
CSize?size?=?szrc.Size();
if?(size.cx?>?rect.Width())
{
if?(size.cx?+?rect.left?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2004-06-30?10:15??實例15??實現(xiàn)QQ程序的抽屜效果\
?????目錄???????????0??2011-05-31?20:47??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\
?????目錄???????????0??2011-05-31?20:35??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\Debug\
?????文件???????28724??2011-05-31?20:35??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\Debug\GfxGroupEdit.obj
?????文件??????159845??2011-05-31?20:35??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\Debug\GfxOutBarCtrl.obj
?????文件???????49308??2011-05-31?20:35??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\Debug\GfxPopupMenu.obj
?????文件??????188539??2011-05-31?20:35??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\Debug\MQQAppearance.exe
?????文件??????445508??2011-05-31?20:35??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\Debug\MQQAppearance.ilk
?????文件???????25010??2011-05-31?20:35??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\Debug\MQQAppearance.obj
?????文件?????5136384??2011-05-31?20:35??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\Debug\MQQAppearance.pch
?????文件??????623616??2011-05-31?20:35??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\Debug\MQQAppearance.pdb
?????文件???????14836??2011-05-31?19:57??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\Debug\MQQAppearance.res
?????文件???????39932??2011-05-31?20:35??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\Debug\MQQAppearanceDlg.obj
?????文件??????106047??2011-05-31?19:57??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\Debug\StdAfx.obj
?????文件??????214016??2011-05-31?20:36??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\Debug\vc60.idb
?????文件??????372736??2011-05-31?20:35??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\Debug\vc60.pdb
?????文件????????3301??2001-02-24?08:05??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\GfxGroupEdit.cpp
?????文件????????1699??1998-07-06?04:06??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\GfxGroupEdit.h
?????文件???????55365??2001-02-25?02:10??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\GfxOutBarCtrl.cpp
?????文件????????7416??1998-07-21?08:31??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\GfxOutBarCtrl.h
?????文件???????15288??2001-02-24?08:07??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\GfxPopupMenu.cpp
?????文件????????1750??1998-07-04?06:28??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\GfxPopupMenu.h
?????文件???????34264??2002-06-05?08:16??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\MQQAppearance.aps
?????文件????????1043??2002-06-05?08:00??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\MQQAppearance.clw
?????文件????????2161??2002-04-28?06:30??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\MQQAppearance.cpp
?????文件????????5028??2011-05-31?20:47??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\MQQAppearance.dsp
?????文件?????????551??2002-04-28?06:30??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\MQQAppearance.dsw
?????文件????????1401??2002-04-28?06:30??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\MQQAppearance.h
?????文件??????148480??2011-05-31?20:47??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\MQQAppearance.ncb
?????文件???????74752??2011-05-31?20:47??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\MQQAppearance.opt
?????文件????????1770??2011-05-31?20:35??實例15??實現(xiàn)QQ程序的抽屜效果\MQQAppearance\MQQAppearance.plg
............此處省略15個文件信息
評論
共有 條評論