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

📄 brw_getset.c

📁 好记星的控件,包括button,list,对文件操作
💻 C
字号:
/**************************************************************************
                                                                          
              Copyright (C) 2005 SHENZHEN MEIJIN CO.LTD                   
                                                                          
 FILE NAME:   brw_getset.C                                                      
 MODULE NAME: browser                                                        
 DESCRIPTION: 
 对外函数声明:


		
**************************************************************************
    DTAE       AUTHOR     VERSION                 REMARKS                 
 =========== ==========  =========  ======================================
 2006-3-5    gaolinhui    V1.0					create                               
***************************************************************************/
#include "kernel.h"
#include "BrowserIn.h"


/************************************************************************/
/* 函数名称: BrowserSetFontID	                                            */
/* 函数描述: 设置字体		                                            */
/* 当前版本: 1.0                                                        */
/* 作    者: gaolinhui                                                      */
/* 输入参数:                                                            */
/*			handle				- 对象句柄								*/
/* 输出参数:                                                            */
/*          NONE					                                    */
/* 返回值  :                                                            */
/*          NONE		                                                */
/* 更改记录:                                                            */
/* =====================================================================*/
/*    日期       人员       版本   描述                                 */
/* =====================================================================*/
/* 2006-3-1    gaolinhui      1.0    创建	                                */
/************************************************************************/
VOID BrowserSetFontID(MBrowser *handle)
{
	UINT16 font,oldFont;

	oldFont = FontGetLib();
	if (handle->pBrwInfo->wStates & BROWSER_STATE_DICTITEM)
	{
/*
		if (handle->wFontID == SYSFONT_DIFFGBK16)
		{
			font = SYSFONT_DIFFGBK24;
		}
		else if (handle->wFontID == SYSFONT_DIFFGBK12)
		{
			font = SYSFONT_DIFFGBK16;
		}
		else if (handle->wFontID == SYSFONT_DIFFGBK24)
		{
			font = SYSFONT_DIFFGBK24;
		}
		else
		{
*/
			font = FONT16_BLOD_FONT; //handle->wFontID;
//		}

	}
	else
	{
		font = handle->pBrwInfo->wFontID;
	}

	if (handle->pBrwInfo->wStates & BROWSER_STATE_BOLD)
	{
		font = FONT16_BLOD_FONT;
	}
	else if (handle->pBrwInfo->wStates & BROWSER_STATE_ITALIC)
	{
		font = FONT16_ITALIC_FONT;
	}
	else if (handle->pBrwInfo->wStates & BROWSER_STATE_BLACK)
	{
		//font += SYSFONT_HTTYPE;
	}
	else
	{
		font = handle->pBrwInfo->wFontID;
	}

	if (handle->pBrwInfo->wStates & BROWSER_STATE_MARK_KEY)
	{
		SetFontInvertStyle();
	}
	else
	{
		ClrFontInvertStyle();
	}
	
	if (font != oldFont)
	{
		GraphSetFontID(font);
	}
}


/************************************************************************/
/* 函数名称: BrowserSetPositionFont                                     */
/* 函数描述: 设置指定位置的字体                                         */
/* 当前版本: 1.0                                                        */
/* 作    者: gaolinhui                                                      */
/* 输入参数:                                                            */
/*			handle			- 对象句柄									*/
/*			ptr				- 数据指针									*/
/* 输出参数:                                                            */
/*          NONE					                                    */
/* 返回值  :                                                            */
/*          NONE	                                                    */
/* 更改记录:                                                            */
/* =====================================================================*/
/*    日期       人员       版本   描述                                 */
/* =====================================================================*/
/* 2006-3-1    gaolinhui      1.0    创建	                                */
/************************************************************************/
VOID BrowserSetPositionFont(MBrowser *handle,UINT8 *ptr)
{
#if 1
	UINT16 states;
	UINT32 Line;
	BOOL bMarking,bHot;
	MLineInfo LineInfo;
	BrowserNodeInfo* pNode;
	UINT i;
	UINT8 *pStart;
	UINT16 wMoveLen,wUnitWidth;

	/*找到当前位置对应行*/
	pNode = handle->pBrwInfo->pNodeInfo;
	for(i=0; (pNode[i].pLinePtr<=ptr)
			&&(pNode[i].pLinePtr != NULL); i++)
	{
	}
	if(i>0)
		i--;

	if(pNode[i].pLinePtr == NULL)
	{
		return ;
	}

#if !defined(BORWSER_RECORD_EVERY)	
	i = i*BROWSER_NODE_LEN;					//转化为行号
	GetLineInfo(handle, i, &LineInfo);
	while((LineInfo.pLinePtr<=ptr)&&(LineInfo.pLinePtr != NULL))
	{
		i++;
		GetLineInfo(handle, i, &LineInfo);		
	}
	if (i > 0)
	{
		i--;
	}
#endif
	if(!GetLineInfo(handle,i,&LineInfo))
	{
		return;
	}
	/*保存MARK标记*/
	bMarking = (handle->pBrwInfo->wStates & BROWSER_STATE_MARKING);
	bHot = (handle->pBrwInfo->wStates & BROWSER_STATE_UNDERLINE);
	Line = i;
	/*对应行状态*/
	if(!GetLineInfo(handle, Line, &LineInfo))
	{
		return ;
	}
	states = LineInfo.wStates;
	pStart = LineInfo.pLinePtr;
	/*设置行状态*/
	handle->pBrwInfo->wStates = states;
	if (handle->pBrwInfo->wStates & BROWSER_STATE_TAB)
	{
		handle->pBrwInfo->byTabGrade = 1;
	}
	while (pStart < ptr)
	{
		wUnitWidth = BrowserGetOneUnit(handle, 
			pStart,NULL,&wMoveLen,BROWSER_SCANNING);
		if (wUnitWidth == 0)
		{
			break;
		}
		pStart += wMoveLen;
	}
	/*根据状态设置相应字体*/
	BrowserSetFontID(handle);
	/*恢复MARK状态*/
	if (bMarking)
	{
		handle->pBrwInfo->wStates |= BROWSER_STATE_MARKING;
	}
	if (bHot)
	{
		handle->pBrwInfo->wStates |= BROWSER_STATE_UNDERLINE;
	}
#endif

/*gaolinhui, 060727 ADDED*/
/*	if (handle->pBrwInfo->wStates & BROWSER_STATE_TAB)
	{
		handle->pBrwInfo->byTabGrade = 1;
	}*/

}

BOOL __BrowserSetTopLine(MBrowser *handle, UINT32 dwTopLine,BOOL bReDraw)
{

	if(!handle->pBrwInfo)
	{
		return FALSE;
	}
	if (handle->pBrwInfo->bFinished)
	{
		/* //调整顶行
		handle->pBrwInfo->dwTopLine = BrowerAdjustTopLine(handle,dwTopLine);
		*/
/**********************************************************************/
		//gaolinhui , 06.4.11, 去除顶行调整.
		if(dwTopLine > handle->pBrwInfo->dwTotalLine-1)
		{
			dwTopLine = handle->pBrwInfo->dwTotalLine-1;
		}
		handle->pBrwInfo->dwTopLine = dwTopLine;
/**********************************************************************/
		if (bReDraw)
		{
			BrowserDrawPage(handle);
		}
		else
		{
			handle->pBrwInfo->wStates |= BROWSER_STATE_NODRAW;
		}
		return TRUE;
	}
	else
	{
		return FALSE;
	}
	
}






⌨️ 快捷键说明

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