SOUI使用过程知识点小结1
Q1 如何看待字符串的问题?
=》将SStringT 看做 CString就行了,这样就容易理解了
Q2 设置边框线
=》灵活的使用margin-x 和 margin-y的值 然后设置 colorborder 就可以设置出边框线,在透明的窗口下 比较好看
例子:给窗口设置边框线: margin-x="2" margin-y="2" colorBorder="#B8E0F8"
Q3 自绘在那个消息进行
=》在要使用自绘的时候 使用函数OnPaint对函数进行重写,具体的消息是MSG_WM_PAINT_EX
使用BeforePaint(pRT, paint); AfterPaint(pRT, paint); 来保留字体,在XML文件中配置自定义控件的属性 位置
Q4 1>!!!err: Load Layout XML Failed! file name: uires\xml\xxxx.xml 出现此类错误的原因
=》XML的解析方式不同:在一个标签页中出现了两个相同的属性的值 就会报错;例如在一个属性下 含有两个name 也会出现此类错误
Q5 SOUI和MFC之间的一些联系 消息方面(消息都是类似的)
=》
按钮点击事件:
MFC:
ON_BN_CLICKED(IDC_EXIT_BTN, &MainDlg::OnBnClickedExitBtn)
参数:ID,消息函数
包含在 BEGIN_MESSAGE_MAP 中
SOUI:
EVENT_NAME_COMMAND(L"btn_close", OnClose)
参数:控件名,消息函数
包含在EVENT_MAP_BEGIN() 中
消息:(关联控件的事件) 例如点击列表控件
MFC:
ON_NOTIFY(NM_CLICK, IDC_ITEM_GRD, &ItemParam::OnItemListClick)
参数:事件ID,控件ID,消息函数
包含在 BEGIN_MESSAGE_MAP 中
SOUI:(消息订阅)
EVENT_NAME_HANDLER(L"list_Result_Sample", EVT_CMD, OnSampleListClick);
参数:控件名,事件ID,消息函数
中心事件 (同步异步事件)
MFC:
ON_MESSAGE(WM_ITEM_MEAN_RLU, &MainDlg::OnReceivedItemRlu)
参数:事件ID,消息函数
SOUI:
MESSAGE_HANDLER_EX(WM_CYCLE_TEST_STOPED, OnReceivedCycleTestStoped)
参数:事件ID,消息函数
Q6 使用hr控件时 发现长度无法调整为更长
=》设置属性:
<hr pos="150,2" size="5" height="130" mode="vertical" colorLine="#cbebfeff" />
注意:size在这个控件中表示线条的宽度 height表示线条的高
Q7 SOUI的自绘视频教程
=》上B站 找启程
Q8 在SOUI中使用GDI+的一些问题
=》问题:当触发了子控件的OnLbuttonup后
点击主窗口的关闭按钮 无反应
使用buttondown既可解决
使用buttonup会影响到绘图区域之外
Q9 在自绘控件的时候通常会有想要设置的一些属性在哪里进行设置
=》通过增加相应的属性 来完成这一操作
将XML文件中设置属性传递给成员变量
例如需要传递一个整型变量: (这样就表示 在XML文件中可以设置一个叫做 CircleNum的属性)
SOUI_ATTRS_BEGIN()
ATTR_INT(L"CircleNum", m_PointNum, TRUE)
SOUI_ATTRS_END()
Q10 使用下拉框的点击事件时出现的问题
=》使用ComboBox处理下拉框事件
点击事件不能使用EVT_CMD
必须使用EVT_CB_SELCHANGE 来响应此事件 原因未知 = = 如有知悉 请不吝赐教
Q11 SOUI窗口拖动问题
=》在没有包含Caption控件的区域是不能被拖动的,应该可以代码修改,尚未探索,加入
<caption pos="208,8" size="288, 32" show="1" font="adding:0" />
就可以进行拖动了
Q12 不使用事件映射来实现事件的响应
=》不需要注册,就可以响应
pHeader->GetEventSet()->subscribeEvent(EVT_HEADER_CLICK,Subscriber(&CMainDlg::OnListHeaderClick,this));
EVT_HEADER_CLICK:消息
OnListHeaderClick:实现的函数
Q13 鼠标的属性
=》cursor="属性" 属性:
auto,hand,text,help……
加入到控件XML中实现效果 将鼠标放置到控件上出现 “各种形状”
Q14 如何产生一个异形按钮
=》
按钮的配置:
<button name="btn_test" pos="{250,[10,@150,@50" size="50,50" margin="-3,-3,-1,-1" fontcolorcolorBkgnd="#00FF00" colorBkgnd="#ff000088" cursor="hand">X</button>
实现代码:(放在初始化实现即可)
//演示圆形的按钮如何产生
SButton *pButton = FindChildByName2<SButton>(L"btn_test");
if (pButton)
{
CRect rc = pButton->GetWindowRect();
rc.MoveToXY(0,0); //相当于坐标系的转换了
HRGN hRgn = ::CreateEllipticRgn(rc.left, rc.top, rc.right, rc.bottom);
//HRGN hRgn = ::CreateEllipticRgnIndirect(&rc); //和上面创建圆一个意思
CAutoRefPtr<IRegion> pRgn;
GETRENDERFACTORY->CreateRegion(&pRgn);
pRgn->SetRgn(hRgn);
pButton->SetWindowRgn(pRgn, TRUE);
DeleteObject(hRgn);
}
Q15 如何修改一个控件的属性
=》通过使用函数SetAttribute来修改控件的属性以及一些行为;常用于控件传参或者一些属性的改变
功能描述:有一个按钮,默认鼠标放上去的状态是显示一个手型,这里将其修改为一个小问号 help
代码如下:
SButton *pButton = findchildbyname2<SButton>(L"btn_test");
pButton->SetAttribute(L"cursor",L"help",FALSE); //通过使用setAttribute来增加或者修改控件对应的属性
SetAttribute(str1,str2,bFlag)
str1:表示控件的属性
str2:设置的值
bFlag:默认为FALSE
上述描述如有问题,请留言告知……多看demo收获还是挺多的
因为没有文档,所以看着代码真的处处有惊喜,还有好多不懂,后续再一一补充
最后:SOUI真的能带给人很多惊喜,随着慢慢的深入,越来越有意思了
最后需要转载的 带上地址吖:
参照:https://blog.csdn.net/Wuzm_
SOUI使用过程知识点小结1相关推荐
- 线性表部分知识点小结
线性表部分知识点小结 ------------------------------------- 开发工具与关键技术:<数据结构与算法> 作者:林敏静 撰写时间:2020年5月6日 --- ...
- 排序算法部分知识点小结
排序算法部分知识点小结 ------------------------------------- 开发工具与关键技术:<数据结构与算法> 作者:林敏静 撰写时间:2020年4月26日 - ...
- C++基础知识点小结
C++基础知识点小结 第一章 绪论 (1)cout 输出流的对象 (2)cin输入对象 (3)endl 输出控制符/操控符 (4)标识符 (5)命名空间(namespace) (6)左值: (7)右值 ...
- 气象统计方法期末知识点小结
气象统计方法知识点小结 小知识点 气象统计诊断的基本步骤 资料收集 资料预处理 选取诊断方法 科学综合与诊断分析 气象统计预测的基本步骤 资料收集 选择合适的统计模型 统计检验 预测结论 一些概念 气 ...
- python基础知识点小结(2021/2/9)
python基础知识点小结(2021/2/9)持续更新中~~ 入门小知识 cmd 在cmd上进行python,直接输入 python\quad pythonpython 退出cmd输入 exit()\ ...
- C++重要知识点小结---3
C++重要知识点小结---1:http://www.cnblogs.com/heyonggang/p/3246631.html C++重要知识点小结---2:http://www.cnblogs.co ...
- python语言基础知识点总结_Python语言的12个基础知识点小结
Python语言的12个基础知识点小结 python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(g ...
- React使用过程知识点随手记
React使用过程知识点随手记.txt 0.create-react-app新建项目 1.弹出配置 2.添加路由模块 3.修改webpack配置,让引入模块支持src写法 4.如何修改react的默认 ...
- 2020年Android面试高频知识点小结+9家公司面试真题
作者:小羊子说 前言 正直2020金九银十,第一次换工作或是面试候选人,我们都会对面试知识做一次总结梳理,毕竟开发技术无边界,不同人对技术的解读不同.文章总结了最近大半年中的面试考查点V1.0,希望对 ...
- 【机器学习】支持向量机面试知识点小结
之前写了几篇原理性的文章,先列一个目录好了. [数学基础]拉格朗日乘子法 [数学基础]KKT条件 [数学基础]拉格朗日对偶 [机器学习]SVM线性可分 [机器学习]SVM基本线性可分与多分类 [机器学 ...
最新文章
- 关于SWT开发的一个坑——Invalid thread access
- 了解select模型的六大注意点
- python函数手册 stata_Stata连享会-Python量化
- OpenSSL 宣布将开源许可证更改为 Apache 2.0
- tornado web高级开发项目
- 【白皮书】2020中国MCN行业发展研究白皮书.pdf(附下载链接)
- 投诉索尼中国:欺骗消费!敲诈消费者!
- 随机梯度下降SGD算法原理和实现
- 2019年7款3D扫描仪APP(Android和iOS),让你手机秒变3D扫描仪!
- html改变鼠标指针形状代码,鼠标指针形状效果大全 cursor
- 列宽一字符等于多少厘米_Excel中行高多少等于1厘米?列宽多少等于1厘米?-列宽为2厘米...
- 超级牛散股神叶健颜专找重组题材股,精准买入,不服不行。
- 花一星期折腾后,我劝你好好考虑下书签同步这个问题
- Android组件化开发实践和案例分享 1
- 「数据结构」普林斯顿算法课第二周作业
- 东方信息苑c语言,上海市东方社区信息苑一览表.PDF
- Mac Elasticsearch 7.9.3 安装指南
- 卖了个 Chrome 插件,赚了几千美金,但是很后悔!
- php 射影定理,射影定理是哪年级学的
- Python爬虫之验证码处理
热门文章
- Eclipse使用Ant编译时报错Perhaps JAVA_HOME does not point to the JDK
- 云计算、大数据在农业信息化中的应用
- 专利申请“技术交底书”的要素和撰写要求
- CDLINUX——minidwep-gtk
- 工具分享之NetSetMan
- 信噪比的定义及计算方法
- python微信数据解密-dat文件转图片(支持JPG,PNG,GIF)
- 百度OCR图像识别(包含自定义模板)
- 学习总结:Handler机制
- [通信原理]关于QPSK信号包络起伏问题的研究