
SOUI自学笔记
JamesWu9527
一个程序猿小哥
展开
-
SOUI的一个动态创建控件的小例子
涉及知识点:获取可用的屏幕个数以及分辨率 SOUI中的线性布局的使用 SOUI中的动态插入xml的方法(也就是动态的创建控件) 对动态创建出来的控件,进行一个点击事件的注册目的:获取屏幕个数,生成对应的按钮,点击对应的按钮,设置窗体到对应的屏幕上;和上一个例子的基础代码一致 这边直接上代码void CMainDlg::OnGetScreenInfo(){ EnumDisplayMonitors(NULL, NULL, &MonitorEnumProc, reinterpre原创 2020-07-23 18:48:07 · 687 阅读 · 0 评论 -
记录类似窗口自动移动,补齐前面的位置demo
应用场景:类似多个标签窗口并列,一个窗口被移动到另外一个地方去了,后面的则往前补齐的功能效果:实现的点,主要有两个1.使用线性布局:layout="hbox"2.改变窗口的size属性,设置为0,0xml的布局<SOUI name="mainWindow" title="@string/title" bigIcon="ICON_LOGO:32" smallIcon="ICON_LOGO:16" width="620" height="400" margin="5,5,原创 2020-07-21 18:25:26 · 276 阅读 · 0 评论 -
SOUI中SRealWnd的使用
这里做一个VLC的例子(在SOUI中使用VLC来播放一下本地文件和流)Step1 使用向导建立一个工程,将需要包含的VLC文件包含进去Step2 SOUI 界面的一些设置Step3 编写代码 实现对应的功能Step4 查看效果思考:怎么减小VLC的体积 减小plugins的体积?Step1 使用向导建立工程 建立XML文件主窗口<SOUI name="mainWin...原创 2019-09-26 20:27:15 · 1760 阅读 · 4 评论 -
MFC中使用SOUI的窗口示例
文章demo参照https://github.com/soui-demo/mfc.demo分析步骤:Step1 创建一个纯的SOUI的项目 代码由向导生成Step2 创建一个纯MFC的项目 代码由向导生成Step3 分析对比Step1和Step2在MFC的 BOOL CxxxApp::InitInstance() 这个相当于 SOUI中的 main 这里将两者合二为一需要添加的资...原创 2019-09-18 18:41:10 · 2152 阅读 · 1 评论 -
SOUI中TileView控件的使用 实现基本的增删改查功能
类似名片的展示 都可以使用这个小例子 加以改进直接上效果图:加上github的地址:https://github.com/JamesWu9527/SOUITileViewDemo原创 2019-07-20 16:15:53 · 873 阅读 · 0 评论 -
SOUI中View类型的控件数据更新的例子
关键函数:notifyDataSetInvalidated通过这个函数可以来刷新控件中的值通过一个checkbox全选的小例子 来使用效果图:这里使用MCListView这个控件 来实现的效果<window pos="312,104" size="216, 184"> <mclistview name="mclv_test" colorB...原创 2019-05-27 22:21:50 · 758 阅读 · 0 评论 -
SOUI 实现分屏效果【4,6,9,16,24】类似监控效果
网上找了一圈 没看到类似的例子用C++来实现 多半是C#的例子;这里花了点时间弄了一下想了一个比较费力的方法来实现,办法很原始;思路:根据最大的分屏数量 来设计窗口的数量 然后通过不同的分屏方式 来进行窗口的“显示”与“隐藏”;最后就是一个体力活了先上XML 看看<?xml version="1.0"?><SOUI name="mainWindow" tit...原创 2019-05-22 19:31:22 · 989 阅读 · 0 评论 -
SOUI中菜单的简单实现
效果图先放上来使用控件comboview来实现一级菜单的功能XML部分的配置 <comboview pos="-180,5,@120,@20" dropDown="0" dropHeight="150" animateTime="0" margin-x="2" margin-y="2" curSel="0" name="c原创 2019-03-13 19:05:24 · 2380 阅读 · 3 评论 -
SOUI中ListCtrl的自绘
一些知识的补充:/*2018-12-14 14:32:42单项选择设置背景色 ListCtrl*/通过重写ListCtrl加入部分属性详细代码参照ListCtrlex核心思想:通过记录设置的几行使用什么颜色(没有设置颜色则使用缺省参数)通过数据结构map来组织设置一次颜色相当于在map中插入一条数据擦除颜色相当于在map中删除一条数据最后整理好的数据结构在 OnPain...原创 2018-12-17 18:41:24 · 1402 阅读 · 0 评论 -
SOUI知识点小结2
/*2018-8-27 15:21:21在SOUI工程中关于定时器的使用*/CSimpleWnd::SetTimer(定时器的ID,间隔时间,NULL);CSimpleWnd::KillTimer(定时器的ID); /*2018-8-31 14:31:22使用zip打包*/修改资源后 需要将idx文件重新编译一遍,才能将资源加载进入通过点击事件 进行一个控件的刷新可以得...原创 2018-12-03 18:41:31 · 2297 阅读 · 5 评论 -
SOUI控件的自绘和消息处理
看了作者在B站的视频 做一下知识点的总结用一个简单的自定义控件来总结下所用的知识点扩展一个DUI窗口的基本步骤知识点:Step1:从SWindow中继承一个DUI的窗口类Step2: 定义新DUI窗口类的类名Step3: 在main中向SApplication中注册新的DUI类Step4: 在XML布局中使用你定义的DUI窗口类一些准备工作自绘需要一个关键的函数那就是Paint...原创 2018-12-03 17:11:44 · 2400 阅读 · 1 评论 -
SOUI中心事件的使用实例
首先使用SOUI的向导建立一个工程需要注意以下几点:首先要包含 notifycenter.h这个头文件,这个头文件工程默认是不会添加的,验证方法使用SNotifyCenter在程序的任何一个地方会出现红色的下划线表示没有包含常规普通模式下的中心事件 作用在目标窗口上的,注意目标窗口需要继承public TAutoEventMapReg<类名> 这样就可以自动注册这个事件中心...原创 2018-07-05 19:41:39 · 1670 阅读 · 6 评论 -
在使用SOUI做项目遇到的一些问题
使用SOUI开源库做出来的界面效果确实比常规的MFC的效果好看,但是对新手而言它的友好性不高(缺少说明文档);但是不妨碍使用问题一:button按钮点击没有反应(这种问题常出现于新创建的窗口)问题原因以及解决方案:使用控件的时候(在创建的模态对话框的时候)资源文件XML里面的结构是 <SOUI><root> xxx </root></SOUI&...原创 2018-06-06 19:53:40 · 2812 阅读 · 2 评论 -
SOUI消息订阅事件实例
功能:实现编辑框和滑块控件之间的数据联动描述:改变滑块控件的位置 对应的值出现在编辑控件上 在编辑控件中输入值 对应的改变滑块控件的位置首先还是在资源文件中 添加对应控件 以及name属性 上一篇【SOUI按钮消息事件】有介绍在MainDlg.h文件中的EVENT_MAP_BEGIN()与EVENT_MAP_END()中间 添加对应的消息事件MainDlg.h文件EVENT_MAP...原创 2018-05-24 18:38:20 · 961 阅读 · 3 评论 -
SOUI的按钮消息事件
使用常规的控件 以Button为例首先在工程目录下的【uires】文件夹中找到【xml】文件夹 然后找到 dlg_main.xml 这个文件(可以自定义名称的,这里我是使用向导生成的)文件修改如下:<window pos="5,[2,-5,-5"> <text pos="|-176,|-48" offset="-0.5, -0.5">第一个UI界面<...原创 2018-05-16 09:24:04 · 1499 阅读 · 2 评论 -
SOUI使用过程知识点小结1
Q1 如何看待字符串的问题?=》将SStringT 看做 CString就行了,这样就容易理解了 Q2 设置边框线=》灵活的使用margin-x 和 margin-y的值 然后设置 colorborder 就可以设置出边框线,在透明的窗口下 比较好看例子:给窗口设置边框线: margin-x="2" margin-y="2" colorBorder="#B8E0F8" ...原创 2018-08-22 19:22:22 · 2571 阅读 · 0 评论 -
SOUI中几个view视图控件的基本使用
例子均来自于SOUI工程所带的demo例子中 这里简化了做一个小的总结:/*2018-12-4 08:55:52关于 SOUI中的几个视图控件的使用这些用法都是从SOUI提供的demo中获取 先拿出来方便需要的时候进行使用*/都需要使用template来进行数据的模板1.titleview 的使用STileView *pTileView = FindChildByNam...原创 2018-12-04 19:28:29 · 2696 阅读 · 0 评论