ucgui消息嵌套超过最大值怎么办

ucgui消息嵌套超过最大值怎么办,第1张

什么叫case这个消息,然后创建呢? 额,这个很简单的,在回调函数中,在edit的id选项中,如果消息类型是WM_NOTIFICATION_CLICKED则创建或显示软键盘的对话框。如果WM_NOTIFICATION_RELEASED或者WM_NOTIFICATION_MOVED_OUT则删除或者隐藏软键盘。

static void _cbFrame(WM_MESSAGE pMsg) {//Framewin的回调函数

switch (pMsg->MsgId) {

case WM_NOTIFY_PARENT://来自子窗口的notify

if (pMsg->Datav == WM_NOTIFICATION_RELEASED) {//widget的Notification codes存储在Datev中;判断子窗口(控件)是否释放

int Id = WM_GetId(pMsg->hWinSrc); //得到源控件ID(子窗口ID)

if (Id == GUI_ID_CLOSE) {//判断控件是否要关闭framewin(这里是指“关闭按钮”)

//创建你想要的d出窗口

}

}

什么叫case这个消息,然后创建呢?

额,这个很简单的,在回调函数中,在edit的id选项中,如果消息类型是WM_NOTIFICATION_CLICKED则创建或显示软键盘的对话框。如果WM_NOTIFICATION_RELEASED或者WM_NOTIFICATION_MOVED_OUT则删除或者隐藏软键盘。

这是资源链表的创建

原型

<WIDGET>_Handle <WIDGET>_CreateIndirect(

const GUI_WIDGET_CREATE_INFO pCreateInfo,

WM_HWIN hParent,

int x0,

int y0,

WM_CALLBACK cb

);

参数 描述

pCreateInfo 指向GUI_WIDGET_CREATE_INFO结构的指针 (见下文)。

hParent 父窗口的句柄。

x0 小工具最左侧的像素 (在父坐标中)。

y0 小工具最顶端的像素 (在父坐标中)。

cb 指向回调函数的指针。

GUI_WIDGET_CREATE_INFO数据结构在对话框资源表中定义如下:

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

// with <WIDGET>_SetUserData &

// <WIDGET>_GetUserData

} GUI_WIDGET_CREATE_INFO;

怎么创建?

主要也就是控件不同,坐标不同,状态不同。

推荐一个工具

ucguibuilder40

可以可视化创建。有些控件没有的可以先创建其他的,自行修改。

代码就不贴了,给你个思路,其实很简单的,就是在回调函数里做刷新数据的工作就行了。

可以自己定义个消息,AD数据有变化了,发一个消息给回调函数,然后在回调函数里进行数据的改变即可。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12156546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存