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相关推荐

  1. 线性表部分知识点小结

    线性表部分知识点小结 ------------------------------------- 开发工具与关键技术:<数据结构与算法> 作者:林敏静 撰写时间:2020年5月6日 --- ...

  2. 排序算法部分知识点小结

    排序算法部分知识点小结 ------------------------------------- 开发工具与关键技术:<数据结构与算法> 作者:林敏静 撰写时间:2020年4月26日 - ...

  3. C++基础知识点小结

    C++基础知识点小结 第一章 绪论 (1)cout 输出流的对象 (2)cin输入对象 (3)endl 输出控制符/操控符 (4)标识符 (5)命名空间(namespace) (6)左值: (7)右值 ...

  4. 气象统计方法期末知识点小结

    气象统计方法知识点小结 小知识点 气象统计诊断的基本步骤 资料收集 资料预处理 选取诊断方法 科学综合与诊断分析 气象统计预测的基本步骤 资料收集 选择合适的统计模型 统计检验 预测结论 一些概念 气 ...

  5. python基础知识点小结(2021/2/9)

    python基础知识点小结(2021/2/9)持续更新中~~ 入门小知识 cmd 在cmd上进行python,直接输入 python\quad pythonpython 退出cmd输入 exit()\ ...

  6. C++重要知识点小结---3

    C++重要知识点小结---1:http://www.cnblogs.com/heyonggang/p/3246631.html C++重要知识点小结---2:http://www.cnblogs.co ...

  7. python语言基础知识点总结_Python语言的12个基础知识点小结

    Python语言的12个基础知识点小结 python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(g ...

  8. React使用过程知识点随手记

    React使用过程知识点随手记.txt 0.create-react-app新建项目 1.弹出配置 2.添加路由模块 3.修改webpack配置,让引入模块支持src写法 4.如何修改react的默认 ...

  9. 2020年Android面试高频知识点小结+9家公司面试真题

    作者:小羊子说 前言 正直2020金九银十,第一次换工作或是面试候选人,我们都会对面试知识做一次总结梳理,毕竟开发技术无边界,不同人对技术的解读不同.文章总结了最近大半年中的面试考查点V1.0,希望对 ...

  10. 【机器学习】支持向量机面试知识点小结

    之前写了几篇原理性的文章,先列一个目录好了. [数学基础]拉格朗日乘子法 [数学基础]KKT条件 [数学基础]拉格朗日对偶 [机器学习]SVM线性可分 [机器学习]SVM基本线性可分与多分类 [机器学 ...

最新文章

  1. 关于SWT开发的一个坑——Invalid thread access
  2. 了解select模型的六大注意点
  3. python函数手册 stata_Stata连享会-Python量化
  4. OpenSSL 宣布将开源许可证更改为 Apache 2.0
  5. tornado web高级开发项目
  6. 【白皮书】2020中国MCN行业发展研究白皮书.pdf(附下载链接)
  7. 投诉索尼中国:欺骗消费!敲诈消费者!
  8. 随机梯度下降SGD算法原理和实现
  9. 2019年7款3D扫描仪APP(Android和iOS),让你手机秒变3D扫描仪!
  10. html改变鼠标指针形状代码,鼠标指针形状效果大全 cursor
  11. 列宽一字符等于多少厘米_Excel中行高多少等于1厘米?列宽多少等于1厘米?-列宽为2厘米...
  12. 超级牛散股神叶健颜专找重组题材股,精准买入,不服不行。
  13. 花一星期折腾后,我劝你好好考虑下书签同步这个问题
  14. Android组件化开发实践和案例分享 1
  15. 「数据结构」普林斯顿算法课第二周作业
  16. 东方信息苑c语言,上海市东方社区信息苑一览表.PDF
  17. Mac Elasticsearch 7.9.3 安装指南
  18. 卖了个 Chrome 插件,赚了几千美金,但是很后悔!
  19. php 射影定理,射影定理是哪年级学的
  20. Python爬虫之验证码处理

热门文章

  1. Eclipse使用Ant编译时报错Perhaps JAVA_HOME does not point to the JDK
  2. 云计算、大数据在农业信息化中的应用
  3. 专利申请“技术交底书”的要素和撰写要求
  4. CDLINUX——minidwep-gtk
  5. 工具分享之NetSetMan
  6. 信噪比的定义及计算方法
  7. python微信数据解密-dat文件转图片(支持JPG,PNG,GIF)
  8. 百度OCR图像识别(包含自定义模板)
  9. 学习总结:Handler机制
  10. [通信原理]关于QPSK信号包络起伏问题的研究