資源簡介
MFC list control 內嵌按鈕以及樣式更改,內含exe以及源碼!list control中的列中潛入了button,并且可以響應button事件
代碼片段和文件信息
#include?“StdAfx.h“
#include?“ChatRichEd.h“
CChatRichEd::CChatRichEd(void):?CRichEditCtrl()
{
m_iLineCount?=?m_iLastLineCount?=?0;
m_bFrozen?=?FALSE;
memset(&m_cfDefault?0?sizeof(m_cfDefault));
m_cfDefault.cbSize?=?sizeof(CHARFORMAT);
m_cfDefault.dwMask?=?CFM_BOLD?|?CFM_COLOR?|?CFM_FACE?|?CFM_ITALIC?|?CFM_SIZE?|?CFM_STRIKEOUT?|?CFM_UNDERLINE;
m_cfDefault.crTextColor?=?RGB(200?100?255);//RGB(0?0?0);
_tcscpy(m_cfDefault.szFaceName?_T(“MS?Sans?Serif“));
m_cfDefault.bPitchAndFamily?=?FF_SWISS;
m_cfDefault.yHeight?=?24*24;//-12;
}
CChatRichEd::~CChatRichEd(void)
{
}
BOOL?CChatRichEd::Create(DWORD?dwstyle??const?RECT&?rcRect?CWnd*?pParentWnd?UINT?nID)
{
????//if?(!::AfxInitRichEditEx())
????//????return?FALSE?;
????
????CWnd*?l_pWnd?=?this?;
????return?l_pWnd->Create(_T(“RichEdit20A“)?NULL?dwstyle?rcRect?pParentWnd?nID);
}
void?CChatRichEd::Freeze()
{
m_bFrozen?=?TRUE;
SetBackgroundColor(FALSE?RGB(64?64?64));
}
void?CChatRichEd::Thaw()
{
CString?text;
while?(!m_cslDeferredText.IsEmpty())
{
text?=?m_cslDeferredText.RemoveTail();
InternalAppendText(text);
}
m_bFrozen?=?FALSE;
SetBackgroundColor(TRUE?RGB(64?64?64));
}
void?CChatRichEd::Clear()
{
int?iTotalTextLength?=?GetWindowTextLength();
SetSel(0?iTotalTextLength);
ReplaceSel(_T(““));
}
void?CChatRichEd::AppendText(LPCTSTR?szText)
{
if?(m_bFrozen)
m_cslDeferredText.AddHead(szText);
else
InternalAppendText(szText);
}
void?CChatRichEd::InternalAppendText(LPCTSTR?szText)
{
int?len;
ASSERT(szText);
ASSERT(AfxIsValidString(szText));
int ?iTotalTextLength?=?GetWindowTextLength();
CWnd?*focusWnd?=?GetFocus();
// Hide?any?selection?and?select?the?end?of?text?marker.
HideSelection(TRUE?TRUE);
SetSel(iTotalTextLength?iTotalTextLength);
// Now?set?the?character?format
SetSelectionCharFormat(m_cfDefault);
// And?put?the?text?into?the?selection
ReplaceSel(szText);
len?=?GetWindowTextLength();
// Now?select?the?end?of?text?marker?again
SetSel(len?len);
if?(iTotalTextLength?>?125000)
{
// The?control‘s?starting?to?get?full?so?trim?off?the?first?
// 50000?bytes....
SetSel(0?50000);
ReplaceSel(_T(““));
SetSel(iTotalTextLength?iTotalTextLength);
}
HideSelection(FALSE?TRUE);
SendMessage(EM_SCROLLCARET?0?0);
if?(focusWnd?!=?(CWnd?*)?NULL)
focusWnd->SetFocus();
}
BOOL?CChatRichEd::SaveToFile(CFile?*pFile)
{
ASSERT(pFile);
ASSERT_KINDOF(CFile?pFile);
EDITSTREAM?es;
es.dwCookie?=?(DWORD)?pFile;
es.pfnCallback?=?StreamCallback;
StreamOut(SF_RTF?es);
return?TRUE;
}
DWORD?CALLBACK?CChatRichEd::StreamCallback(DWORD?dwCookie?LPBYTE?pbBuff?LONG?cb?LONG?*pcb)
{
CFile?*pFile?=?(CFile?*)?dwCookie;
ASSERT(pFile);
ASSERT_KINDOF(CFile?pFile);
ASSERT(pbBuff);
ASSERT(AfxIsValidAddress(pbBuff?cb?FALSE));
try
{
pFile->Write(pbBuff?cb);
}
catch(CFileException?*fe
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????..A..H.?????41472??2018-12-04?17:37??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\.vs\RichEditTest\v14\.suo
?????文件????????902??2014-04-17?12:43??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\Backup\RichEditTest.sln
?????文件????2189824??2018-12-04?11:35??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\Debug\RichEditTest.exe
?????文件???80805888??2018-12-04?17:30??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\ipch\RICHEDITTEST-8cce6f2c\RICHEDITTEST-9799e152.ipch
?????文件????2189824??2018-12-04?11:35??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\Release\RichEditTest.exe
?????文件????1086449??2018-12-04?11:30??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\Release\RichEditTest.iobj
?????文件?????176944??2018-12-04?11:30??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\Release\RichEditTest.ipdb
?????文件???23547904??2018-12-04?11:35??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\Release\RichEditTest.pdb
?????文件???????3844??2014-04-17?12:55??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\ChatRichEd.cpp
?????文件????????741??2014-04-17?12:45??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\ChatRichEd.h
?????文件???????3273??2014-03-01?15:06??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\HeaderCtrlCl.cpp
?????文件????????623??2009-01-15?22:06??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\HeaderCtrlCl.h
?????文件???????9889??2014-04-29?17:37??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\ListCtrlCl.cpp
?????文件???????1977??2014-04-29?17:36??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\ListCtrlCl.h
?????文件???????4332??2014-04-17?12:43??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\ReadMe.txt
?????文件??????59034??2018-12-04?11:30??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\Release\ChatRichEd.obj
?????文件??????64908??2018-12-04?11:30??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\Release\HeaderCtrlCl.obj
?????文件??????94631??2018-12-04?11:30??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\Release\ListCtrlCl.obj
?????文件????????916??2018-12-04?11:35??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\Release\RichEditTest.log
?????文件??????43939??2018-12-04?11:35??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\Release\RichEditTest.obj
?????文件???33882112??2018-12-04?11:30??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\Release\RichEditTest.pch
?????文件??????83688??2018-12-04?11:30??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\Release\RichEditTest.res
?????文件???????5434??2018-12-04?11:35??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\Release\RichEditTest.tlog\CL.command.1.tlog
?????文件??????49452??2018-12-04?11:35??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\Release\RichEditTest.tlog\CL.read.1.tlog
?????文件???????5790??2018-12-04?11:35??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\Release\RichEditTest.tlog\CL.write.1.tlog
?????文件???????3010??2018-12-04?11:35??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\Release\RichEditTest.tlog\li
?????文件???????8818??2018-12-04?11:35??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\Release\RichEditTest.tlog\li
?????文件???????1762??2018-12-04?11:35??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\Release\RichEditTest.tlog\li
?????文件????????566??2018-12-04?11:30??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\Release\RichEditTest.tlog\rc.command.1.tlog
?????文件???????6202??2018-12-04?11:30??MFC_ListCtrl內嵌按鈕及其響應\RichEditTest\RichEditTest\Release\RichEditTest.tlog\rc.read.1.tlog
............此處省略42個文件信息
評論
共有 條評論