OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4656|回复: 7

为什么按钮 listbox 滑动条都会卡死 但是为什么这三个控件删除任何一个都又恢复正常了呢,不能理解

[复制链接]

11

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2015-1-9
在线时间
0 小时
发表于 2015-1-19 15:54:01 | 显示全部楼层 |阅读模式
5金钱
#include <stddef.h>
#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();
}
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
434
金钱
434
注册时间
2013-3-18
在线时间
82 小时
发表于 2015-1-19 17:46:27 | 显示全部楼层
请在初始化里干创建控件的事情
回复

使用道具 举报

11

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2015-1-9
在线时间
0 小时
 楼主| 发表于 2015-1-19 17:49:04 | 显示全部楼层
回复【2楼】holy404290384:
---------------------------------
谢谢 ,那我重绘里要做什么事呢
回复

使用道具 举报

70

主题

6697

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12691
金钱
12691
注册时间
2012-11-26
在线时间
3710 小时
发表于 2015-1-19 17:49:09 | 显示全部楼层
是不是你的堆栈不够了
学无止境
回复

使用道具 举报

3

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
434
金钱
434
注册时间
2013-3-18
在线时间
82 小时
发表于 2015-1-19 17:57:01 | 显示全部楼层
回复【3楼】13407147650:
---------------------------------
就拿你这个来说吧,以下的几个在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来做界面。里面生成的格式很规范,也容易学习
回复

使用道具 举报

11

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2015-1-9
在线时间
0 小时
 楼主| 发表于 2015-1-19 17:58:21 | 显示全部楼层
不是吧,才三个控件,
回复

使用道具 举报

11

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2015-1-9
在线时间
0 小时
 楼主| 发表于 2015-1-19 18:00:57 | 显示全部楼层
我也想啊,但是他那个有3D效果,这个不和界面要求,而且数据又不好刷新吧,就是要采集那种AD数据显示的那种,
回复

使用道具 举报

3

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
434
金钱
434
注册时间
2013-3-18
在线时间
82 小时
发表于 2015-1-19 18:07:10 | 显示全部楼层
回复【7楼】13407147650:
---------------------------------
我说的是使用emwin的方法,跟效果无关,再说效果是可以设置的,帮不了你了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 09:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表