|
请问:我想要使用LISTBOX_DeleteItem删除ID_PWVW_STOP_ALL这一行,但是删除的是最后一行,是什么原因呢?
下面是部分代码
case WM_INIT_DIALOG:
{
INT32U i;
INT32U bHaveFocuse;
ViewRunSetData_t ViewRunSetData;
int stopAllIndex = -1; // 记录ID_PWVW_STOP_ALL的索引
hItem = WM_CreateTimer(pMsg->hWin,0,ON_CHARGE_TIMEOUT_EXITVIEW_MS / portTICK_PERIOD_MS,0);
//ViewRunSetData.ItemDataFocusMsk = 0x1F;
ViewRunSetData.ItemDataFocusMsk = 0x3F;
ViewRunSetData.ItemNoDataMsk = 0x0C;
ViewRunSetData.hTimer = hItem;
WINDOW_SetUserData(pMsg->hWin,&ViewRunSetData,sizeof(ViewRunSetData));
WINDOW_SetBkColor(pMsg->hWin,VIEW_TITLE_BKCOLOR);
// Initialization of 'Listbox'
hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0);
bHaveFocuse = TRUE;
LISTBOX_SetUserData(hItem,&bHaveFocuse,sizeof(bHaveFocuse));
for(i = ID_PWVW_VOLTAGE;i <= ID_PWVW_BACK;i++)
{
LISTBOX_AddString(hItem, "");
if(i == ID_PWVW_STOP_ALL)
{
stopAllIndex = LISTBOX_GetNumItems(hItem) - 1; // 记录STOP_ALL当前行数
}
}
LISTBOX_SetTextAlign(hItem, GUI_TA_VCENTER | GUI_TA_LEFT);
LISTBOX_SetFont(hItem, &GUI_DEFAULT_FONT);
LISTBOX_SetItemSpacing(hItem, LIST_BOX_ITEM_SIZE - GUI_GetYDistOfFont(LISTBOX_GetFont(hItem)));
LISTBOX_SetOwnerDraw(hItem, _ViewPowerVWSetListBoxOwnerDraw);
LISTBOX_SetSel(hItem,g_CurPageId.Id - 1);
if(g_SinglePowerChannel == 1 && stopAllIndex != -1)
{
LISTBOX_DeleteItem(hItem,stopAllIndex);
//g_SinglePowerChannel = 0;
}
LISTBOX_SetBkColor(hItem,LISTBOX_CI_UNSEL,VIEW_BK_NFCOLOR);
WM_SetCallback(hItem, _cbViewListBoxUser);
}
break;
|
|