• 大小: 30.18MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-11
  • 语言: C/C++
  • 标签: list  control  按钮响应  

资源简介

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\link.command.1.tlog

     文件       8818  2018-12-04 11:35  MFC_ListCtrl内嵌按钮及其响应\RichEditTest\RichEditTest\Release\RichEditTest.tlog\link.read.1.tlog

     文件       1762  2018-12-04 11:35  MFC_ListCtrl内嵌按钮及其响应\RichEditTest\RichEditTest\Release\RichEditTest.tlog\link.write.1.tlog

     文件        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个文件信息

评论

共有 条评论