ITE sdK自定義事件接收流程

2021-08-28 12:34:17 字數 984 閱讀 6970

1.在main.c中sdl_main()中sceneload();前新增非介面函式(init)

2.在init函式中開啟訊息佇列

mqid = mq_open("anonymqueue", o_creat | o_nonblock, 0666, &qattr);

其中各引數如下:

typedef structstruct_ui_eve;

static mqd_t uiinfoqueue = -1;

mqd_t mqid;

struct_ui_eve ev_send;

ev_send.type = 123;

struct mq_attr qattr;

qattr.mq_flags = 0;

qattr.mq_maxmsg = 10;

qattr.mq_msgsize = sizeof(struct_ui_eve);

注意:對列名在linux2.6下要在最前面加/,&qattr可以為null,

但在ite sdk下不適用(&qattr可以寫0)

3.在要傳送的函式中傳送事件

mq_send(mqid, (const char *)&ev_send, sizeof(struct_ui_eve), 0)

4.在scene.c中,scenerun()中itusceneupdate前新增接受已定義事件函式

5.在接收自定義事件函式中接收佇列事件

mqd_t mqid = mq_open("anonymqueue", o_rdonly | o_nonblock);

if (mqid == -1)

printf("mq_open error\n");

struct_ui_eve ev_rece;

mq_receive(mqid, (char *)&ev_rece, sizeof(struct_ui_eve), 0);

6.此時自定義事件就被傳送給介面了,只需要在guidesigned中新增對應的action

自定義事件

public event eventhandleropenprogress private void onopenprogress progresseventargs e if openprogress null openprogress this,e public class progressev...

自定義事件

簡單的自定義事件 首先定義乙個類來監聽客戶端事件,這裡我們監聽鍵盤的輸入。定義乙個委託。public delegate void userrequest object sender,eventargs e 前面的object用來傳遞事件的發生者,後面的eventargs用來傳遞事件的細節,現在暫時沒...

清楚地 自定義事件 流程

定義自定義事件的引數 public sealed class customereventargs eventargs public datarow currentdatarow 自定義控制項類 public partial class treeviewfolder usercontrol 第三步 何...