|
2014-8-26 LISTVIEW控件篇
*************************
①LISTVIEW控件,表内显示必须每行每列对齐;
对的例子
static const char * _lvTable_00[4] ={"地址" , "编号" , "监测区域" , "状态","事件记录" };
static const char * _lvTable_01[4] ={"" , "" , "" , "erwerwrw" };
static const char * _lvTable_02[4] ={"" , "" , "" , "erwerwrw" };
static const char * _lvTable_03[4] ={"" , "" , "" , "erwerwrw" };
错的例子
static const char * _lvTable_00[4] ={"" , "" , "" , "你好" };
static const char * _lvTable_01[4] ={"1" };
static const char * _lvTable_02[4] ={"2" , };
static const char * _lvTable_03[4] ={"3" , };
②字体设置要合适否则显示不出来!
③非阻塞函数GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbCallback, 0, 0, 0);
与阻塞函数GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbCallback, 0, 0, 0);区别!
要用非阻塞函数!
④网格可见LISTVIEW_SetGridVis(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), 4);网格可见!!!
⑤LISTVIEW单个表格背景颜色应该放到最后设置 LISTVIEW_SetItemBkColor(WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0), 1, 1, 0, GUI_RED);
⑥注意GUI版本,较低版本有的控件(或功能)没有添加!比如3.8才有LISTVIEW右边和下边的下拉条!
2014-8-27 LISTVIEW控件篇
***********************************************************************************
LISTVIEW——Header高度设置
**************************
static LISTVIEW_Handle _hListView;//···············创建(LISTVIEW控件)句柄变量①
_hListView = LISTVIEW_Create(10, 80, 300, 89, 0, 1234, WM_CF_SHOW, 0);//创建LISTVIEW控件句柄②
HEADER_Handle hHeader;//··················创建(LISTVIEW控件)Header句柄变量③
hHeader = LISTVIEW_GetHeader(_hListView);//··········创建(LISTVIEW控件)Header句柄④
WM_SetFocus(_hListView);//··························聚焦LISTVIEW控件⑤
HEADER_SetHeight(hHeader,50);//·······················设置Header高度为50⑥
2014-8-28 LISTVIEW控件篇
关键字:句柄、聚焦、网格可视、右滚动条、增加最上标题栏高度、外部按键切换窗口、
注意:1.没有用OS;2.若发现汉字跑偏,设置居左、居中试试可能管用!
WM_HWIN hItem;
static LISTVIEW_Handle _hListView;
HEADER_Handle hHeader;
int i;
switch (pMsg->MsgId)
{
case WM_INIT_DIALOG:
// Initialization of 'Framewin2'
hItem = pMsg->hWin;
FRAMEWIN_SetText(hItem, "Screen 2");
FRAMEWIN_SetFont(hItem, &GUI_Font24_1);
/****对LISTVIEW设置****/
_hListView = WM_GetDialogItem(pMsg->hWin, ID_LISTVIEW0);
hHeader = LISTVIEW_GetHeader(_hListView);//句柄
WM_SetFocus(_hListView);//聚焦
LISTVIEW_SetGridVis(_hListView, 5);//网格可视
HEADER_SetTextColor(hHeader, GUI_BLUE);
HEADER_SetFont(hHeader,&GUI_FontHZ16 );
LISTVIEW_AddColumn(_hListView, 100, "编号", GUI_TA_LEFT);//增加列居左
LISTVIEW_AddColumn(_hListView, 60, "标号", GUI_TA_LEFT);
LISTVIEW_AddColumn(_hListView, 100, "区域",GUI_TA_LEFT);
// HEADER_SetFont(hHeader,&GUI_FontHZ16 );
SCROLLBAR_CreateAttached(_hListView, SCROLLBAR_CF_VERTICAL);//右滚动条
HEADER_SetHeight(hHeader, 20);//增加最上标题栏高度
for (i = 0; i < GUI_COUNTOF(_aTable_1); i++)
{
LISTVIEW_AddRow(_hListView, _aTable_1);
}
break;
case WM_KEY:
switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key)
{
case GUI_KEY_BACKSPACE :
LISTVIEW_IncSel(_hListView);
Delay_WM_Exec(10);
break;
// case GUI_KEY_ESCAPE :
// LISTVIEW_DecSel(_hListView);//加上标题栏汉字就不能正常显示!why?????
// Delay_WM_Exec(10);
break;
case GUI_KEY_ENTER:
FRAMEWIN_Delete(pMsg->hWin);
GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), _cbDialog1, WM_HBKWIN, 0, 0);
Delay_WM_Exec(10);
break;
}
break;
default:
WM_DefaultProc(pMsg);
break;
} |
|