|

楼主 |
发表于 2017-12-14 10:50:46
|
显示全部楼层
回 eric2013 的帖子
eric2013:把你的简单程序列出来下,我给你测试下。 (2017-12-14 02:15)  程序中我注释掉的那一段放出来的话程序也会挂,而且不能再初始化对话框消息中使用for循环显示文本,使用的话必挂,列表框使用for循环也会挂,所以我现在都不知道怎么可以让它递增显示,现在是递减显示的
static void _cbTemplate(WM_MESSAGE * pMsg)
{
WM_HWIN hWin = pMsg->hWin;
WM_HWIN hButton;
WM_HWIN hListBox;
WM_HWIN hText;
WM_HWIN hSpinbox;
WM_HWIN hEdit;
WM_HWIN hItem;
int NCode, Id;
u8 kk;
char NumInit[6] = {"MODEL1"};
switch (pMsg->MsgId)
{
case WM_PAINT:
break;
case WM_INIT_DIALOG:
FRAMEWIN_SetFont(hWin, &XBF_Font24);
FRAMEWIN_SetTitleHeight(hWin,24);
FRAMEWIN_SetTextAlign(hButton,GUI_TA_HCENTER|GUI_TA_VCENTER );
hButton = WM_GetDialogItem(hWin,GUI_ID_ADD); /*添加模板*/
BUTTON_SetFont(hButton, &XBF_Font24);
BUTTON_SetTextAlign(hButton,GUI_TA_HCENTER|GUI_TA_VCENTER );
BUTTON_SetTextColor(hButton,BUTTON_CI_UNPRESSED,GUI_WHITE);
hButton = WM_GetDialogItem(hWin,ID_Template_Delete); /*删除模板*/
BUTTON_SetFont(hButton, &XBF_Font24);
BUTTON_SetTextAlign(hButton,GUI_TA_HCENTER|GUI_TA_VCENTER );
BUTTON_SetTextColor(hButton,BUTTON_CI_UNPRESSED,GUI_WHITE);
hButton = WM_GetDialogItem(hWin,ID_ABOUTUS_OK);
BUTTON_SetFont(hButton, &XBF_Font24);
BUTTON_SetTextAlign(hButton,GUI_TA_HCENTER|GUI_TA_VCENTER );
BUTTON_SetTextColor(hButton,BUTTON_CI_UNPRESSED,GUI_WHITE);
// hText = WM_GetDialogItem(hWin,ID_Template_TemperName); /*设置温度文本*/
// TEXT_SetFont(hText, &XBF_Font24);
// TEXT_SetTextAlign(hText,GUI_TA_HCENTER|GUI_TA_VCENTER );
// hText = WM_GetDialogItem(hWin,ID_Template_ShockTimeName); /*设置振荡时间文本*/
// TEXT_SetFont(hText, &XBF_Font24);
// TEXT_SetTextAlign(hText,GUI_TA_HCENTER|GUI_TA_VCENTER );
// hText = WM_GetDialogItem(hWin,ID_Template_ShockSpeedName); /*设置振荡速度文本*/
// TEXT_SetFont(hText, &XBF_Font24);
// TEXT_SetTextAlign(hText,GUI_TA_HCENTER|GUI_TA_VCENTER );
// hSpinbox = WM_GetDialogItem(hWin,ID_Template_TemperValue); /*温度微调框*/
// SPINBOX_SetFont(hSpinbox,GUI_FONT_32B_ASCII);
// SPINBOX_SetEdge(hSpinbox, SPINBOX_EDGE_CENTER);
// SPINBOX_SetSkin(hSpinbox, SPINBOX_SKIN_FLEX);
// SPINBOX_SetEditMode(hSpinbox,SPINBOX_EM_EDIT); /*设置微调框的编辑模式*/
// hEdit = SPINBOX_GetEditHandle(hSpinbox); /*获取微调框中编辑框的句柄*/
// EDIT_SetDecMode(hEdit, 0, 0, 99, 0, 0); /*设置编辑框的十进制编辑模式*/
// SPINBOX_SetValue(hSpinbox,60);
//
// hSpinbox = WM_GetDialogItem(hWin,ID_Template_ShockTimeValue); /*振荡时间微调框*/
// SPINBOX_SetFont(hSpinbox,GUI_FONT_32B_ASCII);
// SPINBOX_SetEdge(hSpinbox, SPINBOX_EDGE_CENTER);
// SPINBOX_SetSkin(hSpinbox, SPINBOX_SKIN_FLEX);
// SPINBOX_SetEditMode(hSpinbox,SPINBOX_EM_EDIT);
// hEdit = SPINBOX_GetEditHandle(hSpinbox);
// EDIT_SetDecMode(hEdit, 0, 0, 999, 0, 0);
// SPINBOX_SetValue(hSpinbox,30);
// hItem = WM_GetDialogItem(hWin,ID_Template_ShockSpeedValue); /*振荡速度下拉列表*/
// DROPDOWN_SetFont(hItem, &XBF_Font24);
// DROPDOWN_AddString(hItem, "高速");
// DROPDOWN_AddString(hItem, "较高速");
// DROPDOWN_AddString(hItem, "中速");
// DROPDOWN_AddString(hItem, "较低速");
// DROPDOWN_AddString(hItem, "低速");
//
// /* 使能下来列表控件自动使用滚动条 */
// DROPDOWN_SetAutoScroll(hItem, 1);
// /* 设置下拉列表控件展开后的高度 */
// DROPDOWN_SetListHeight(hItem, 110);
// /* 设置下拉列表控件上滚动条的宽度 */
// DROPDOWN_SetScrollbarWidth(hItem, 20);
// /* 设置下拉列表控件中各个选项之间的间距 */
// DROPDOWN_SetItemSpacing(hItem, 10);
// /*设置初始第3个下拉项目*/
// DROPDOWN_SetSel(hItem, 2);
hListBox = WM_GetDialogItem(hWin, GUI_ID_Template1); /*模板列表框*/
LISTBOX_SetBkColor(hListBox,0,0xffffff);
LISTBOX_SetFont(hListBox, &XBF_Font24);
LISTBOX_SetItemSpacing(hListBox, 5);
LISTBOX_SetAutoScrollH(hListBox,1);
LISTBOX_SetAutoScrollV(hListBox,1);
ee_ReadBytes(&kk,223,1);
LISTBOX_AddString(hListBox,NumInit);
if(kk!=0XFF && kk!=0x00)
{
while(kk--)
{
NumInit[5] = '0'+kk+1;
LISTBOX_AddString(hListBox,NumInit);
}
}
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch (Id)
{
case GUI_ID_Template1: /*模板列表框*/
if(NCode==WM_NOTIFICATION_RELEASED)
{
}
break;
case GUI_ID_ADD: /*添加模板*/
if(NCode==WM_NOTIFICATION_RELEASED)
{
u8 NumItems;
char NumTemplate[6] = {"MODEL"} ;
hListBox = WM_GetDialogItem(hWin, GUI_ID_Template1);
NumTemplate[5] = '0' + LISTBOX_GetNumItems(hListBox)+1;
// LISTBOX_InsertString(hListBox, PTR, NumItems);
LISTBOX_SetFont(hListBox, &XBF_Font24);
LISTBOX_AddString(hListBox,NumTemplate);
NumItems = NumTemplate[5]&0x0f;
ee_WriteBytes(&NumItems,223,1);
}
break;
case ID_Template_Delete: /*删除模板按钮*/
if(NCode==WM_NOTIFICATION_RELEASED)
{
u8 NumItems;
char Num[1];
hListBox = WM_GetDialogItem(hWin, GUI_ID_Template1);
LISTBOX_DeleteItem(hListBox,LISTBOX_GetSel(hListBox));
Num[0] = '0' + LISTBOX_GetNumItems(hListBox);
NumItems = Num[0]&0x0f;
ee_WriteBytes(&NumItems,223,1);
}
break;
case ID_ABOUTUS_OK: /*确定按钮*/
if(NCode==WM_NOTIFICATION_RELEASED)
{
GUI_EndDialog(hWin, 0);
hTemplateHwin = 0;
}
break;
}
break;
default:
WM_DefaultProc(pMsg);
}
} |
|