|

楼主 |
发表于 2018-10-18 13:28:00
|
显示全部楼层
本帖最后由 爱恋之燕 于 2018-10-18 13:30 编辑
- const static char *String_Key[3]={
- "新增",
- "编辑",
- "删除"
- };
- /* typedef struct {
- GUI_WIDGET_CREATE_FUNC * pfCreateIndirect; // Create function
- const char * pName; // Text (not used for all widgets)
- I16 Id; // Window ID of the widget
- I16 x0, y0, xSize, ySize; // Size and position of the widget
- I16 Flags; // Widget-specific flags (or 0)
- I32 Para; // Widget-specific parameter (or 0)
- U32 NumExtraBytes; // Number of extra bytes usable
- } GUI_WIDGET_CREATE_INFO; */
- static const GUI_WIDGET_CREATE_INFO _DialogCreate_AlarmSet[] = {
- {FRAMEWIN_CreateIndirect,"报警人管理",0,0,0,800,456,FRAMEWIN_CF_ACTIVE,0,0},
-
- {LISTVIEW_CreateIndirect,NULL,GUI_ID_LISTVIEW0,54,20,690+2,320,0,0,0},
-
- {BUTTON_CreateIndirect,NULL,GUI_ID_BUTTON0,340,350,120,50,0,0,0}, //"新增"Button
- {BUTTON_CreateIndirect,NULL,GUI_ID_BUTTON1,490,350,120,50,0,0,0}, //"编辑"Button
- {BUTTON_CreateIndirect,NULL,GUI_ID_BUTTON2,640,350,120,50,0,0,0}, //"删除"Button
- };
- static void _InitDialog_AlarmSet(WM_MESSAGE *pMsg){
- WM_HWIN hWin = pMsg->hWin;
- HEADER_Handle hHeader=0;
- BUTTON_Handle hButton=0;
-
- /* Framewin 初始化 */
- FRAMEWIN_SetFont(hWin, &GUI_FontHZ28); //设置标题文本字体
- FRAMEWIN_SetTextAlign(hWin, GUI_TA_VCENTER | GUI_TA_CENTER);//设置标题文本对齐方式
- FRAMEWIN_SetTextColor(hWin, GUI_BLACK); //设置标题文本颜色
- FRAMEWIN_SetTitleHeight(hWin, 40); //设置标题栏的高度
- FRAMEWIN_AddCloseButton(hWin,FRAMEWIN_BUTTON_RIGHT,0);
-
- /* Listview 初始化 */
- hListview_Alarm = WM_GetDialogItem(hWin,GUI_ID_LISTVIEW0);
- hHeader = LISTVIEW_GetHeader(hListview_Alarm);
- HEADER_SetFont(hHeader,&GUI_FontHZ20); //设置标题栏字体
- HEADER_SetHeight(hHeader,30); //设置标题栏高度
- WM_DisableWindow(hHeader);
-
- LISTVIEW_SetFont(hListview_Alarm,&GUI_FontHZ20); //设置字体
- LISTVIEW_SetRowHeight(hListview_Alarm,30); //设置LISTVIEW行高
- LISTVIEW_SetGridVis(hListview_Alarm,1); //设置网格线可见
- LISTVIEW_SetAutoScrollV(hListview_Alarm,1); //添加垂直滚动条
- LISTVIEW_SetWrapMode(hListview_Alarm,GUI_WRAPMODE_CHAR); //设置为换行模式
- LISTVIEW_AddColumn(hListview_Alarm,100,"序 号", GUI_TA_CENTER|GUI_TA_VCENTER);
- LISTVIEW_AddColumn(hListview_Alarm,280,"姓 名",GUI_TA_CENTER|GUI_TA_VCENTER);
- LISTVIEW_AddColumn(hListview_Alarm,310,"电 话",GUI_TA_CENTER|GUI_TA_VCENTER);
- /*----- Button初始化 -----*/
- for(uint8_t i=0;i<GUI_COUNTOF(String_Key);i++){
- hButton = WM_GetDialogItem(hWin,GUI_ID_BUTTON0+i);
- BUTTON_SetFont(hButton,&GUI_FontHZ24);
- BUTTON_SetText(hButton,String_Key[i]);
- }
-
- //WM_MakeModal(hWin);
- }
- static void _NotifyParent_AlarmSet(WM_HWIN hWin,int NCode,int Id){
- switch(Id){
- case GUI_ID_BUTTON0:
- if(NCode==WM_NOTIFICATION_RELEASED){
- <font color="#ff0000">My_MessageBox_Select("是否保存?","提示"); //在这里调用没有问题</font>
- WM_SetFocus(WM_GetDialogItem(hWin,GUI_ID_BUTTON0));
- }
- break;
- case GUI_ID_BUTTON1:
- if(NCode==WM_NOTIFICATION_RELEASED){
- WM_SetFocus(WM_GetDialogItem(hWin,GUI_ID_BUTTON1));
- }
- break;
- case GUI_ID_BUTTON2:
- if(NCode==WM_NOTIFICATION_RELEASED){
- WM_SetFocus(WM_GetDialogItem(hWin,GUI_ID_BUTTON2));
- }
- break;
- default:break;
- }
- }
- static void _callback_AlarmSet(WM_MESSAGE *pMsg){
- int NCode,Id;
- WM_HWIN hWin = pMsg->hWin;
-
- switch(pMsg->MsgId){
- case WM_DELETE: //删除窗口前,发送的消息
- <font color="#ff0000">My_MessageBox_Select("是否保存?","提示"); //在这里调用会死机</font>
- Flag_Exit=true;
- break;
- case WM_KEY: //按键消息
- break;
- case WM_PAINT:
- GUI_SetBkColor(GUI_WHITE);
- GUI_Clear();
- GUI_SetFont(&GUI_FontHZ28);
- GUI_SetColor(GUI_BLACK);
- break;
- case WM_INIT_DIALOG:
- _InitDialog_AlarmSet(pMsg);
- break;
- case WM_NOTIFY_PARENT:
- Id = WM_GetId(pMsg->hWinSrc);
- NCode = pMsg->Data.v;
- _NotifyParent_AlarmSet(hWin,NCode,Id);
- break;
- default:
- WM_DefaultProc(pMsg);
- break;
- }
- }
- /*******************************************************************
- * @brief 函数说明:
- * @param 输入参数:
- * @retval 返回参数:无
- *******************************************************************/
- void App_AlarmSet(void){
- Flag_Exit = false;
-
-
- GUI_CreateDialogBox( _DialogCreate_AlarmSet,
- GUI_COUNTOF(_DialogCreate_AlarmSet),
- &_callback_AlarmSet,
- 0,
- 0,
- 0);
-
- while(!Flag_Exit){
- GUI_Delay(50);
- }
-
- }
复制代码
|
|