![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
soui
文章平均质量分 52
搬砖道人
这个作者很懒,什么都没留下…
展开
-
SOUI控件之weight使用
SOUI控件weight属性的应用实例原创 2022-10-07 11:03:33 · 194 阅读 · 0 评论 -
在SOUI里使用真窗口时使用SOUI的滚动条
在SOUI里使用真窗口时使用SOUI的滚动条原创 2022-06-30 10:04:59 · 379 阅读 · 0 评论 -
SOUI自定义控件(4)
SOUI自定义控件属性原创 2022-06-06 09:30:50 · 308 阅读 · 0 评论 -
SOUI自定义控件(3)
上一节内容已经搭好了主框架,本章就在这个框架下添砖加瓦了。这一节主要讲SOUI的消息映射,在SOUI里使用了WTL的消息映射方式,当主窗口收到消息后会根据情况转发消息给SOUI的控件,在控件里我们使用本//消息映射列表 SOUI_MSG_MAP_BEGIN() SOUI_MSG_MAP_END()来处理消息。在这之前添加关心的消息即可,所有可用消息查看msgcrack.h即可查看。对于一大多数消息直接 MSG_WM_XXXX(XXXX代表消息名比如MSG_WM_SIZE即可处理WM原创 2022-05-30 13:19:49 · 390 阅读 · 0 评论 -
SOUI自定义控件(2)
本系列文章基于VS2022+SOUI4,对于SOUI4相对于SOUI3来说主要是添加了导出C接口的能力,对应的代码上也比较多的采用了宏,当然原理上和SOUI3并没有太大差别。一面来具体实现我们的图表控件类。一、创建控件类。下面新建一个控件类。我把它叫 SCharts这个控件基于SWindow。代码如下:#pragma once#include <core\SWnd.h>SNSBEGINclass SCharts : public SWindow{ D原创 2022-05-25 17:09:27 · 424 阅读 · 0 评论 -
SOUI皮肤浅谈
对于SOUI来说皮肤对象是一个很重要的对象。SOUI内置一了套常用皮肤,祥见soui-sys-resource\theme_sys_res\sys_xml_skin.xml。这里定义了几乎所有常用的皮肤。对于SOUI来说皮肤就是一个绘制对象,它可能是图片,也可能是色彩或者其它方法绘制的图形图像。皮肤和控件关系就像灵与肉,控件一方面实现功能,另一方面调用皮肤装饰自己让它看起来是某个控件。但是另一方面皮肤又是一个独立的组件,也就是说皮肤完全可以把一个button装扮成一个img。而让用户无知无觉。所以如果要控件原创 2022-05-13 21:27:59 · 649 阅读 · 0 评论 -
SOUI中屏蔽右键菜单
目前SOUI里只有文本控件有右键菜单。但是一般来说可能都不需要它显示。即使要显示可能也需要美化一下之类的。下面就介绍如何处理它。第一步:在事件处理加上处理所有控件的右键事件。EVENT_MAP_BEGIN() 。。。 EVENT_HANDLER(EVT_CTXMENU, OnCtxMenu)EVENT_MAP_END()第二步:处理事件,将bCancel设置为TRUE。即可取消右键菜单。当然也可以通过ID或名称来部分禁用或启用。void OnCtxMenu(Even原创 2021-12-24 21:44:18 · 1258 阅读 · 0 评论 -
SOUI实例之扫雷二
文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言接上文扫雷游戏,上文已经建立了一个显示的雷区界面。本章内容实现右键标记。一、在XX上找到图片或自己PS并把它定义成皮肤1.1 copy图片到uires\image 我这里名字为 flag.png1.2 uires 下添加<IMG> <file name="flag" path="image\flag.png"/></IM..原创 2021-04-05 16:22:34 · 177 阅读 · 0 评论 -
SOUI实例之扫雷一
扫雷是Windows内置经典游戏之一!它是一个简单的数字逻辑推理游戏!游戏规则分析:游戏规则很简单,用户通过鼠标点击分布的格子,点击的结果有三种:雷,数字,空白!如果是雷则本局失败,数字则表明此格子周围八个格子的雷数量,空白则自动打开附近的区域直到没有连续空白格子!此外游戏还提供一个右键标注功能,通过右击可以标注推测结果避免误点和帮助分析!...原创 2021-04-04 19:21:53 · 323 阅读 · 0 评论 -
SOUI IBitmap转换为ICON
在实际使用中,有的API必须要求HICON。先上效果,这里的托盘图标是用PNG转换为ICON加载的。上代码 :CURSORICON_LoadFromBuf。在SOUI的Res解析代码里。翻了一下MSDN没有找到API从内存里加载为HICON的。所以只有用SOUI里的方法了。如有更好的方法忘不吝赐教。extern HICON CURSORICON_LoadFromBuf(const BYTE* bits, DWORD filesize, INT width, INT height, BO原创 2021-02-11 21:23:35 · 306 阅读 · 0 评论 -
SOUI主窗口自适应子控件
主窗口自适应子控件在实际的项目中我们的窗口常常不是一成不变的,往往需要子窗口来自适应父窗口或者父窗口自适应子窗口。子窗口适应父窗口在原来的SOUI2里已经有很好的支持,在后续改进中SOUI也加强了父窗口自适应子窗口的支持。所以在SOUI3里父窗口适应子窗口是很容易的。现在来看一个使用实例。<SOUIname="mainWindow"title="@string/title"bigIcon="ICON_LOGO:32"smallIcon="ICON_LOGO:16"margin="5...原创 2021-02-04 20:56:28 · 448 阅读 · 0 评论 -
拖放文件到SOUI程序中
一、在窗口OnInitDialog初使化完成后告诉系统你的程序支持拖放操作::RegisterDragDrop(m_hWnd, GetDropTarget());二、完成一个IDropTarget例子如下CDropTargetBase为一个基本的IDropTarget对像。因为我们大多数不会关心所有的操作。所以只需重写自己关心的步骤就行了。class CDropTargetBase...原创 2020-03-18 11:14:01 · 274 阅读 · 0 评论 -
SOUI动画实现
在SOUI里要实现动画推荐使用ITimelineHandler来做。不要自己添加定时器。主要步骤如下:1、继承ITimelineHandler,重写OnNextFrame。2、OnNextFrame里绘制或者移动窗口。3、开始动画时调用GetContainer()->RegisterTimelineHandler(this);把自己添加到时间轴链。4、等回调OnNext...原创 2019-07-09 19:06:32 · 560 阅读 · 0 评论 -
SOUI在适配器处理函数里弹出菜单
弹出菜单一般通过鼠标位置,或者相对控件固定位置。鼠标位置相对简单不再多说。一般来说在SOUI里可以通过GetWindowRect来获取控件的相对窗口位置。通过转换为屏坐标。弹出菜单即可。位是有一个特例。在SOUI实现了一系列的view系列控件。而这个每一个项都是一个SItemPanel。而SItemPanel是自Root的.也就是说它的所有子控件都是相对它的偏移坐标而不是窗口的坐标。所以需要先计算...原创 2019-07-09 14:33:01 · 634 阅读 · 0 评论 -
SOUI真消息分析
在SOUI里,CSimpleWnd处理了整个真窗口消息的的核心。对比win32。CSimpleWnd也是可以和win32的骤一一对应。对应实现,src\core\CSimpleWnd.cpp第一步:注册一个窗口类ATOM CSimpleWnd::RegisterSimpleWnd( HINSTANCE hInst,LPCTSTR pszSimpleWndName )这个函数注册一个...原创 2020-10-31 16:53:43 · 1126 阅读 · 0 评论 -
SOUI编译
SOUI编译必备工具Visual Studio (支持vs2015及以上版本,理论上SOUI与VS版本无关,但是如果您使用老版本VS可能需要自己修改项目)SVN (SOUI目前主要在taobao SVN上更新,git国内速度比较慢,而且有时会无法访问,所以建议使用SVN上的版本,git的版本比较陈旧) SOUI简介 SOUI是什么?SOUI是启程软件开发的一个C++ DirectUI库。原创 2016-07-04 22:36:36 · 2501 阅读 · 0 评论 -
SOUI中快乐的使用32+64位编程
目前64系统已经普及,但是市面上仍不少软件跑在32上。顺应时代。soui一直都可以32,64使用,不过实际使用过程中,可能仍有实际情况不得不保留32位的软件系统。以前的SOUI只能单独使用32或64位,无法同时使用(当然有经验的同学肯定自己已经配置好了)。为方便大家,SOUI开始支持同时编译32+64组合。同时向导同步跟进在vs10以上开向导会自动配置W64配置。步骤如下:(我使用的SVN版本原创 2017-04-02 11:42:07 · 846 阅读 · 0 评论 -
如何阅读SOUI源码
因为SOUI主要使用qmake来生成工程,而qmake似乎并不支持筛选器,所以初拿到SOUI的应该不知从何处下手。其实,SOUI本身已经使用文件夹来区分这些模块,所以只需要使用VS的 显示所以文件 即可很方便的阅读代码。这样是不是瞬间很清晰了呢?SOUI主要有以下模块构成:原创 2017-02-15 20:58:50 · 1167 阅读 · 0 评论