SOUI的按钮消息事件

使用常规的控件 以Button为例
首先在工程目录下的【uires】文件夹中找到【xml】文件夹 然后找到 dlg_main.xml 这个文件(可以自定义名称的,这里我是使用向导生成的)

文件修改如下:

<window pos="5,[2,-5,-5">
    <text pos="|-176,|-48" offset="-0.5, -0.5">第一个UI界面</text>
    <button pos="432,224" size="96,32" colorText="#000000" name="btn_test" skin="_skin.sys.btn.normal">按钮</button>
</window>
添加 button 向导中生成的好像不包括name(这个属性很重要,要加上!!!)这个属性 这里手动添加一下 name="btn_test" 在代码中添加

在MainDlg.h文件中 添加代码如下

void OnButtonTest();	//和按钮关联的事件


protected:
	//soui消息
	EVENT_MAP_BEGIN()
		EVENT_NAME_COMMAND(L"btn_close", OnClose)
		EVENT_NAME_COMMAND(L"btn_min", OnMinimize)
		EVENT_NAME_COMMAND(L"btn_max", OnMaximize)
		EVENT_NAME_COMMAND(L"btn_restore", OnRestore)
		EVENT_NAME_COMMAND(L"btn_test",OnButtonTest)	//添加的消息事件
	EVENT_MAP_END()

在MainDlg.cpp中实现功能就好了

void CMainDlg::OnButtonTest()
{
	int keyMsg = MessageBox(NULL, L"我是一个常规的按钮", L"标题", MB_YESNO);
	if (IDYES == keyMsg)
		MessageBox(NULL, L"你点击了YES按钮", L"标题", MB_OK);
	else if (IDNO == keyMsg)
		MessageBox(NULL, L"你点击了No按钮", L"标题", MB_OK);
	else
		MessageBox(NULL, L"你点击了X", L"标题", MB_OK);
}
这样一个按钮和函数就关联起来了 可以进行相应的操作


使用SOUI的XML配置文件小结:
uires.idx:资源结构文件(包括工程所有使用资源的路径)
组成标签页 name path 两个值组成
例子:
<UIDEF>
    <file name="xml_init" path="uidef\init.xml"  />
  </UIDEF>

剩下的文件后面分析

SOUI在GitHub上的下载地址:点击打开链接

猜你喜欢

转载自blog.csdn.net/Wuzm_/article/details/80332132