⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crichedit.cpp

📁 bt848,bt878 a采集卡的探测
💻 CPP
字号:
#include "CRichEdit.hpp"

void CRichEdit::StreamIn(CMemory& Data)
{
	StreamIn(Data.Ptr(),Data.Size());
}

void CRichEdit::StreamIn(void* Data,UINT Len) 
{
	// Prepare to stream in!
	reCountToLoad = Len;
	rePos = (char*)Data;
	// Fill in RichEdit
	EDITSTREAM es;
	es.dwCookie = (DWORD)this;
	es.dwError = 0;
	es.pfnCallback=(EDITSTREAMCALLBACK)StreamInCallback;
	SendMessage(EM_STREAMIN,(WPARAM)SF_RTF,(LPARAM)&es);
}

// Auxiliary function to fill a RichEdit
DWORD CALLBACK CRichEdit::StreamInCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cbx, LONG FAR *pcb)
{
	// dwCookie holds a pointer to our class
	CRichEdit* re = (CRichEdit*) dwCookie;

	// Calculate bytes to transfer in this Pass
	ULONG ToTransfer = /*(cbx > 1) ? (cbx >> 1) : 1;*/ cbx;
	ToTransfer = (ToTransfer > re->reCountToLoad) ? re->reCountToLoad : ToTransfer;

	if (!re->rePos) 
		return 0; // Error, Don't continue

	if (!re->reCountToLoad) 
		return 1; // Contents totally transferred!

	// Copy data to buffer
	memcpy((void *)pbBuff,(const void*)re->rePos,ToTransfer);

	// Update bytes remaining
	re->reCountToLoad -= ToTransfer;
	re->rePos += ToTransfer;

	// Return 
	*pcb=ToTransfer; 

	// Go on with transfer!
	return 0; 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -