嵌入式学习小组
直播中

周悠悠

8年用户 124经验值
私信 关注

按钮listbox滑动条都会卡死,但是三个控件删除任何一个又恢复正常

#include
#include "GUI.h"
#include "WM.h"
#include "WM.h"
#include "BUTTON.h"
#include "LISTBOX.h"
#include "SLIDER.h"
const char *a[]={"a","j","w","m","e","w"} ;
SLIDER_Handle slider ;
BUTTON_Handle button ;
void Paintyinyue(WM_MESSAGE * pMsg)
{
    WM_HWIN hWin = pMsg->hWin;
GUI_SetBkColor(GUI_BLUE);  //设置桌面背景色
GUI_Clear();
button =BUTTON_CreateAsChild(  355,385,93,34,hWin,0,WM_CF_SHOW); //创建一个按钮
LISTBOX_CreateAsChild(a,hWin ,277,145,171,84,WM_CF_SHOW) ;//创建一个listbox
slider = SLIDER_Create( 11, 385,154,44,hWin,1,WM_CF_SHOW,0);//创建一个滑动条
SLIDER_SetRange(slider,0,100) ; //设置滑动条的范围
GUI_SetColor(GUI_BLACK);   //设置字体颜色
GUI_SetFont(&GUI_Font32_ASCII) ;
GUI_DispStringAt("-",60, 359);
GUI_DispStringAt("+", 144,359);
GUI_Delay(1);
}
static void _cbCallback(WM_MESSAGE * pMsg)
{
    int NCode, Id;
    WM_HWIN hWin = pMsg->hWin;
    switch (pMsg->MsgId)
    {
        case WM_PAINT:
           aintyinyue(pMsg);
break;
        case WM_NOTIFY_PARENT:
            Id = WM_GetId(pMsg->hWinSrc);
            NCode = pMsg->Data.v;        
            switch (Id)
            {
//消息处理
            }
            break;
        default:
            WM_DefaultProc(pMsg);
    }
}
/*********************************************************************
*
*       MainTask
*
**********************************************************************
*/
void MainTask(void)
{
WM_HWIN WMyinyue = WM_CreateWindow( 180,  10, 500, 450, WM_CF_SHOW | WM_CF_MEMDEV, _cbCallback, 0);
   
while(1){
WM_Exec();
}
}

回帖(7)

h1654155275.5627

2019-3-26 09:34:06
请在初始化里干创建控件的事情
举报

李新美

2019-3-26 09:50:57
谢谢 ,那我重绘里要做什么事呢
举报

李缬呓

2019-3-26 10:09:11
是不是你的堆栈不够了
举报

周杰

2019-3-26 10:20:50
就拿你这个来说吧,以下的几个在WM_PAINT里做,因为这个控件做不了
GUI_SetBkColor(GUI_BLUE);  //设置桌面背景色
GUI_SetColor(GUI_BLACK);   //设置字体颜色
GUI_SetFont(&GUI_Font32_ASCII) ;
GUI_DispStringAt("-",60, 359);
GUI_DispStringAt("+", 144,359);
创建控件之类的在WM_INIT_DIALOG里面
控件消息的处理在 WM_NOTIFY_PARENT里面
你最好用GUIBuilder来做界面。里面生成的格式很规范,也容易学习
举报

更多回帖

发帖
×
20
完善资料,
赚取积分