亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? spconsoler.cpp

?? 窗口類CBufferWnd:能夠作為子窗口或者時彈出窗口支持滾動
?? CPP
字號:
// Consoler.cpp : 實現文件
//

#include "stdafx.h"
#include "spBufferWnd.h"

/*
2003/08/14 by wenyy create
修改了窗口創建函數,將創建子窗口和彈出窗口進行了區別 CreateChildWnd & CreateAppWnd
2003/08/16 by wenyy add function
完成了printfX 
2003/08/19 修正了FormatCharsAndOutput中關于每行的最后一個字符是中文第一個字符時顯示錯誤的問題
2003/08/20 針對CBufferWnd的 WM_BW_NOTIFY 消息,修改了顯示函數 FormatCharsAndOutput
將直接調用CBufferWnd::AppendTxtAtCaret 修改為通過消息進行通知,避免同時多線程時同時修改緩沖區數據

*/

CConsoler::CConsoler()
{
	m_pBufWnd=NULL;
}

CConsoler::~CConsoler()
{
}

void CConsoler::SetBufferWnd(CBufferWnd* pWnd)
{
	m_pBufWnd=pWnd;
}

int CConsoler::FormatCharsAndOutput(LPCSTR pszSrc,int iLen)
{
	//char *pszLine= new char[m_pBufWnd->m_iWidthBuf*2 + 12];//多分配空間,減少判斷次數
	char szLine[1024*2];//一個大致的判斷,每行的最大寬度
	memset(szLine, 0x20,1024);
	int iStart=0,iUsed=0;// iStart 緩沖區szLine的開始位置,iUsed 已經處理pszSrc中的字符數量
	struct CBufferWnd::strAppendTxt strAT={TRUE,FALSE,iStart,szLine};
	if(IsCtrlChar(pszSrc[0]))
	{
		switch (pszSrc[0])
		{
		case '\t': //TAB
			memset(szLine,0x20,m_pBufWnd->m_iTabSize);
			iStart = m_pBufWnd->m_iTabSize;
			strAT.iTxtLen = iStart;
			strAT.pszTxt = szLine;
			//m_pBufWnd->AppendTxtAtCaret(iStart,szLine,TRUE,FALSE); // by wenyy 2003/08/20
			m_pBufWnd->SendMessage(WM_BW_NOTIFY,1,(LPARAM)&strAT);
			break;
		case '\n': //光標移動到下一行
			if(m_pBufWnd->m_ptCaret.y == m_pBufWnd->m_iHeightBuf -1)
				//m_pBufWnd->ScrollTxtUp(1);  // by wenyy 2003/08/20
				m_pBufWnd->SendMessage(WM_BW_NOTIFY,0,0x00010020); //MAKELONG( MAKEWORD(0x20,0), MAKEWORD(0x01,0) )
			else
				m_pBufWnd->SetCaretPoint(m_pBufWnd->m_ptCaret.x,m_pBufWnd->m_ptCaret.y+1);
			m_pBufWnd->ScrollIfPointNotShown(m_pBufWnd->m_ptCaret.x,m_pBufWnd->m_ptCaret.y);
			break;
		case '\r': //光標移動到第零列
			m_pBufWnd->SetCaretPoint(0,m_pBufWnd->m_ptCaret.y);
			m_pBufWnd->ScrollIfPointNotShown(m_pBufWnd->m_ptCaret.x,m_pBufWnd->m_ptCaret.y);
			break;
		}
		return 1;
	}
	else
	{
//		for(int i=0;i<iLen && i<m_pBufWnd->m_iWidthBuf && !IsCtrlChar(pszSrc[i]);i++)//修改了判斷漢字結尾的方式
		for( iUsed = 0; iUsed<iLen && iUsed< m_pBufWnd->m_iWidthBuf && !IsCtrlChar(pszSrc[iUsed]) ; )
		{//每次只處理一行 遇到第一個控制符號就結束
			if( IsDBCSLeadByte(pszSrc[iUsed]) )
			{// bug
				if((iStart + m_pBufWnd->m_ptCaret.x)% m_pBufWnd->m_iWidthBuf == (m_pBufWnd->m_iWidthBuf-1) )
				{//當前行沒有足夠空間存儲一個漢字
					szLine[iStart]=0x20;
					iStart++;
					//i--;//向后退一個字符,等待下一次重新處理
				}
				else
				{//添加中文字符
					//第一個字符
					szLine[iStart]=pszSrc[iUsed];
					iStart++;
					iUsed++;
					if(iUsed < iLen-1)
					{//不是最后一個字符,所以還有第二個字符可以添加
						szLine[iStart]=pszSrc[iUsed];
						//i++;
						iStart++;
						iUsed++;
					}
				}
			}
			else
			{
				szLine[iStart]=pszSrc[iUsed];
				iStart++;
				iUsed++;
			}
		}
		//m_pBufWnd->AppendTxtAtCaret(iStart,szLine,TRUE,FALSE); //by wenyy 2003/08/20
		strAT.iTxtLen = iStart;
		strAT.pszTxt = szLine;
		m_pBufWnd->SendMessage(WM_BW_NOTIFY,1,(LPARAM)&strAT);
		return iUsed;
	}
	return 0;
}

void CConsoler::printfX(const char *pszFormat,...)
{
	if(!m_pBufWnd) return; //ASSERT(m_pBufWnd);
	//Step 1 格式化數據,形成真實的數據
	char szMsg[1024*8];
	va_list arg_ptr;
	va_start(arg_ptr,pszFormat);
	memset(szMsg,0,sizeof(szMsg));
	vsprintf(szMsg,pszFormat,arg_ptr);
	int iLen = (int)strlen(szMsg);
	int iUsed = 0;
	while(iUsed < iLen)
	{
		iUsed += FormatCharsAndOutput(szMsg + iUsed,iLen - iUsed);
	}
	m_pBufWnd->Invalidate();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产乱码最新视频 | 久久精品人人爽人人爽| 欧美日韩中文字幕一区| 色94色欧美sute亚洲13| 色悠久久久久综合欧美99| jvid福利写真一区二区三区| 丁香啪啪综合成人亚洲小说| 国产成人免费视频网站| 成人一道本在线| 91在线免费看| 欧美色国产精品| 日韩一区二区在线播放| 久久久九九九九| 中文字幕一区二区视频| 亚洲最大色网站| 日本午夜精品一区二区三区电影| 精品一区二区在线观看| 粉嫩蜜臀av国产精品网站| 91黄视频在线观看| 欧美少妇性性性| 日韩精品一区二区在线| 亚洲国产精品传媒在线观看| 亚洲美女在线一区| 天堂影院一区二区| 国产成人亚洲综合a∨猫咪| 91福利在线看| 日韩欧美中文一区二区| 国产精品视频九色porn| 舔着乳尖日韩一区| 国产成人精品午夜视频免费| 在线视频国内一区二区| 26uuu成人网一区二区三区| 国产精品的网站| 捆绑紧缚一区二区三区视频| 波波电影院一区二区三区| 欧美日韩高清影院| 久久久久免费观看| 肉肉av福利一精品导航| 国产福利91精品一区二区三区| 色就色 综合激情| 精品日韩99亚洲| 亚洲久草在线视频| 国产综合色产在线精品| 欧美日韩在线不卡| 中文字幕一区二区三区四区 | 91女厕偷拍女厕偷拍高清| 日韩一区二区在线观看| 一区二区三区四区不卡在线 | 欧美性受xxxx黑人xyx性爽| 国产亚洲欧美中文| 青青草91视频| 欧美在线啊v一区| 17c精品麻豆一区二区免费| 精品一区二区三区的国产在线播放| 色婷婷综合在线| 中文文精品字幕一区二区| 精品一区二区在线播放| 欧美日韩国产免费一区二区 | 日韩av电影天堂| 91久久精品国产91性色tv| 国产欧美精品一区aⅴ影院 | 美国十次综合导航| 欧美在线影院一区二区| 国产精品乱码妇女bbbb| 韩国欧美一区二区| 精品国产乱码久久久久久1区2区| 午夜精品久久久久久久| 欧美日韩在线三区| 午夜欧美2019年伦理| 欧美色窝79yyyycom| 一区二区三区日本| 色婷婷久久一区二区三区麻豆| 国产精品久久久久久久久图文区 | 3atv一区二区三区| 亚洲一区在线电影| 欧美视频完全免费看| 亚洲国产wwwccc36天堂| 欧美熟乱第一页| 午夜精品久久久久久久99水蜜桃 | 日本精品一区二区三区四区的功能| 久久久久久久综合| 成人av在线网| 国产精品成人免费| 91视频在线观看免费| 亚洲综合精品自拍| 欧美一区二视频| 国内外精品视频| 国产精品沙发午睡系列990531| 成人综合在线网站| 一区二区三区四区高清精品免费观看 | 天堂午夜影视日韩欧美一区二区| 欧美剧在线免费观看网站| 日韩国产欧美三级| 日韩欧美一区二区不卡| 国产传媒日韩欧美成人| 中文字幕永久在线不卡| 欧美性色欧美a在线播放| 男女视频一区二区| 久久久久成人黄色影片| 一道本成人在线| 美女在线一区二区| 椎名由奈av一区二区三区| 欧美精品欧美精品系列| 国产精品一区二区免费不卡| 亚洲欧洲日韩综合一区二区| 在线91免费看| 成人av网站在线| 日韩av中文在线观看| 国产精品久久二区二区| 制服.丝袜.亚洲.另类.中文| 国产剧情一区二区| 五月综合激情日本mⅴ| 国产亚洲一区二区三区| 欧美日韩精品一区二区天天拍小说 | 国产精品一区二区免费不卡 | 日韩一区国产二区欧美三区| 成人91在线观看| 免费高清视频精品| 一区二区三区日韩欧美精品| 2023国产精华国产精品| 欧美自拍偷拍午夜视频| 国产成人高清视频| 日韩av网站免费在线| 亚洲女性喷水在线观看一区| 精品福利一二区| 欧美卡1卡2卡| 91黄视频在线观看| 99久久伊人网影院| 国产高清不卡一区二区| 偷拍日韩校园综合在线| 日韩美女啊v在线免费观看| 久久久久国产精品厨房| 日韩欧美成人激情| 777a∨成人精品桃花网| 色婷婷狠狠综合| 99国产精品国产精品久久| 国产很黄免费观看久久| 日本人妖一区二区| 日本va欧美va精品| 性久久久久久久久久久久| 亚洲免费伊人电影| 中文字幕乱码亚洲精品一区| 久久精品视频在线看| 久久久99精品久久| 国产欧美日韩在线看| 亚洲国产高清在线观看视频| 久久嫩草精品久久久精品| 欧美mv日韩mv国产网站| 日韩一区二区在线观看视频播放| 欧美精品免费视频| 3atv一区二区三区| 日韩一区二区精品在线观看| 欧美一卡在线观看| 欧美一级二级三级乱码| 日韩亚洲欧美成人一区| 日韩精品中午字幕| 精品sm捆绑视频| 国产喂奶挤奶一区二区三区| 国产女人aaa级久久久级| 国产精品免费av| 亚洲欧美日韩中文播放 | 欧美日韩精品欧美日韩精品一综合| 91久久一区二区| 欧美电影在哪看比较好| 日韩三级视频在线观看| 国产日韩欧美精品一区| 国产精品传媒入口麻豆| 亚洲尤物在线视频观看| 日韩精品午夜视频| 国产在线播放一区| 91年精品国产| 91精品国产一区二区三区蜜臀 | 一区二区三区电影在线播| 亚洲一区二区精品久久av| 视频一区欧美日韩| 国产一区二区剧情av在线| 99精品1区2区| 欧美日韩国产中文| 久久精品日产第一区二区三区高清版| 国产精品成人免费| 日韩综合在线视频| 国产成人高清在线| 欧美视频在线播放| 国产午夜精品久久| 亚洲一区二区三区中文字幕在线| 久久精品二区亚洲w码| 91丨九色丨蝌蚪丨老版| 538在线一区二区精品国产| 日本一区二区三区久久久久久久久不 | 五月婷婷另类国产| 国产揄拍国内精品对白| 欧美中文字幕一区| 久久综合色鬼综合色| 亚洲卡通动漫在线| 狠狠色丁香久久婷婷综| 欧美亚洲动漫另类| 国产清纯美女被跳蛋高潮一区二区久久w | 视频一区中文字幕国产| 成人久久视频在线观看| 欧美一区二区福利在线|