怎么在listwheel中画一个类似图2 的矩形框,我用 //GUI_SetColor(GUI_RED); //GUI_DrawRect(9, 20, 160, 40); 画了一下,应该图层不对,画出来的矩形框在listwheel的下面,怎么才能滑到上面来了,GUI_DrawRect又不能设置图层句柄参数。不知道该怎么弄
hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTVIEW_0);
LISTVIEW_SetGridVis(hItem, 1);
LISTVIEW_SetHeaderHeight(hItem, 20);
LISTVIEW_SetRowHeight(hItem,20);
LISTVIEW_SetGridVis(hItem,0);
LISTVIEW_AddColumn(hItem, 100, "地址", GUI_TA_HCENTER | GUI_TA_VCENTER);
LISTVIEW_AddColumn(hItem, 150, "检测类型", GUI_TA_HCENTER | GUI_TA_VCENTER);
LISTVIEW_AddColumn(hItem, 90, "状态", GUI_TA_HCENTER | GUI_TA_VCENTER);
LISTVIEW_AddColumn(hItem, 90, "示值", GUI_TA_HCENTER | GUI_TA_VCENTER);
LISTVIEW_AddColumn(hItem, 190, "描述", GUI_TA_HCENTER | GUI_TA_VCENTER);
for(i=0;i<14;i++)
{
LISTVIEW_AddRow(hItem, NULL);
}
LISTVIEW_SetSel(hItem,0);
评分
查看全部评分
谢谢!我用的是listwheel不是listview。年月日时分秒不是固定值要能够任意搭配,用listview就要一个个写出来,工作量太大
用的view+定时器自己刷新的。。。。
LISTWHEEL_SetFont(listwheel, GUI_FONT_16B_ASCII); LISTWHEEL_SetSel(listwheel, 2); //设置第二行为选中行
LISTWHEEL_SetTextAlign(listwheel, GUI_TA_HCENTER | GUI_TA_VCENTER); //水平垂直居中
LISTWHEEL_SetBkColor(listwheel, LISTWHEEL_CI_UNSEL, GUI_LIGHTGRAY); //未选中背景色
LISTWHEEL_SetBkColor(listwheel, LISTWHEEL_CI_SEL, GUI_LIGHTRED); //选中背景色
这个是设置有多行的时候,以哪一行为选中行,我已经用了,具体效果如图1,但是在用户选择滑动的时候,是不能选中的,如图2
å¾1
å¾2
//画选中线框
static int _OwnerDraw(const WIDGET_ITEM_DRAW_INFO * pDrawItemInfo) {
switch (pDrawItemInfo->Cmd) {
case WIDGET_DRAW_OVERLAY:
GUI_SetColor(GUI_RED);
GUI_DrawHLine(32, 0, 52);
GUI_DrawHLine(48, 0, 52);
break;
default:
return LISTWHEEL_OwnerDraw(pDrawItemInfo);
}
return 0;
}
LISTWHEEL_SetFont(listwheel, GUI_FONT_16B_ASCII);
LISTWHEEL_SetSel(listwheel, 2); //设置第二行为选中行
LISTWHEEL_SetTextAlign(listwheel, GUI_TA_HCENTER | GUI_TA_VCENTER); //水平垂直居中
LISTWHEEL_SetBkColor(listwheel, LISTWHEEL_CI_UNSEL, GUI_LIGHTGRAY); //未选中背景色
LISTWHEEL_SetBkColor(listwheel, LISTWHEEL_CI_SEL, GUI_LIGHTRED); //选中背景色
LISTWHEEL_SetOwnerDraw(listwheel, _OwnerDraw); //画选中框
@tanic 谢谢!
å°±æ¯è¿æ ·åå§
哈哈,其实很多很多功能都有API只不过文档不好,不知道罢了,每个API都试试
做出来之后给我说我们的屏幕不支持滑动
加个触摸就行了。。。