📄 listedit_setitemcolor.c
字号:
/*
*********************************************************************************************************
* uC/GUI
* Universal graphic software for embedded applications
*
* (c) Copyright 2002, Micrium Inc., Weston, FL
* (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
* 礐/GUI is protected by international copyright laws. Knowledge of the
* source code may not be used to write a similar product. This file may
* only be used in accordance with a license and should not be redistributed
* in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File : LISTEDIT_SetItemColor.c
Purpose : Implementation of LISTEDIT_SetItemTextColor and LISTEDIT_SetItemBkColor
---------------------------END-OF-HEADER------------------------------
*/
#include <string.h>
#include "LISTEDIT_Private.h"
#if GUI_WINSUPPORT
/*********************************************************************
*
* _GetpItemInfo
*/
static LISTEDIT_ITEM_INFO * _GetpItemInfo(LISTEDIT_Handle hObj, unsigned Column, unsigned Row, unsigned int Index) {
LISTEDIT_ITEM_INFO * pItemInfo = 0;
LISTEDIT_ITEM * pItem;
LISTEDIT_Obj * pObj;
if (hObj) {
if ((Column < LISTEDIT_GetNumColumns(hObj)) && (Row < LISTEDIT_GetNumRows(hObj)) && (Index < GUI_COUNTOF(pItemInfo->aTextColor))) {
pObj = LISTEDIT_H2P(hObj);
pItem = (LISTEDIT_ITEM *)GUI_ARRAY_GetpItem((GUI_ARRAY *)GUI_ARRAY_GetpItem(&pObj->RowArray, Row), Column);
if (!pItem->hItemInfo) {
int i;
pItem->hItemInfo = GUI_ALLOC_AllocZero(sizeof(LISTEDIT_ITEM_INFO));
pItemInfo = (LISTEDIT_ITEM_INFO *)GUI_ALLOC_h2p(pItem->hItemInfo);
for (i = 0; i < GUI_COUNTOF(pItemInfo->aTextColor); i++) {
pItemInfo->aTextColor[i] = LISTEDIT_GetTextColor(hObj, i);
pItemInfo->aBkColor[i] = LISTEDIT_GetBkColor (hObj, i);
}
} else {
pItemInfo = (LISTEDIT_ITEM_INFO *)GUI_ALLOC_h2p(pItem->hItemInfo);
}
}
}
return pItemInfo;
}
/*********************************************************************
*
* Public routines
*
**********************************************************************
*/
/*********************************************************************
*
* LISTEDIT_SetItemTextColor
*/
void LISTEDIT_SetItemTextColor(LISTEDIT_Handle hObj, unsigned Column, unsigned Row, unsigned int Index, GUI_COLOR Color) {
LISTEDIT_ITEM_INFO * pItemInfo;
WM_LOCK();
pItemInfo = _GetpItemInfo(hObj, Column, Row, Index);
if (pItemInfo) {
pItemInfo->aTextColor[Index] = Color;
}
WM_UNLOCK();
}
/*********************************************************************
*
* LISTEDIT_SetItemBkColor
*/
void LISTEDIT_SetItemBkColor(LISTEDIT_Handle hObj, unsigned Column, unsigned Row, unsigned int Index, GUI_COLOR Color) {
LISTEDIT_ITEM_INFO * pItemInfo;
WM_LOCK();
pItemInfo = _GetpItemInfo(hObj, Column, Row, Index);
if (pItemInfo) {
pItemInfo->aBkColor[Index] = Color;
}
WM_UNLOCK();
}
#else /* Avoid problems with empty object modules */
void LISTEDIT_SetItemColor_C(void);
void LISTEDIT_SetItemColor_C(void) {}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -