上位机开发笔记 » 搜索 » user:admin post:true

从零开始用htmlayout/sciter写漂亮ui界面之仿瑜伽管理界面

由于用htmlayout来做界面, 那么需要把窗体设置为无边框

设置完成后, 界面不能再被调整大小了, 那么在mainform.aardio中需要加入

import win.ui.resizeBorder; win.ui.resizeBorder(mainForm);

htmlayout aardio ui admin •  2020-10-06 • 最后回复来自 周山下樵夫
29

从零开始用htmlayout/sciter写漂亮ui界面之仿瑜伽管理界面

如题:

参考之前别人发的瑜伽那个htmlayout的代码 , 一步一步从零开始手打出来, 看看一个完整的hL界面是怎么写出来的.

当然, 过程中不会完全和原来的代码一样, 中间如果有其他的想法或者简单方式, 我都会去试一下, 力争最简化实现同样界面.


示例的工程源码如下: (只要下面帖子里更新了,就会更新这个分享的zip文件)

链接:https://pan.baidu.com/s/1Bg

htmlayout aardio ui admin •  2020-10-06 • 最后回复来自 周山下樵夫
29

VS生成com组件ocx

添加属性

属性名是对外显示的接口名, 变量名会在程序里自动生成的名字, 可以相同也可以不同, 通知函数可以不写,需要的话可以写

ocx admin •  2020-09-26 • 最后回复来自 admin
1

VS生成com组件ocx

利用visual studio和c++来生成ocx控件

以下测试参考帖子:https://blog.csdn.net/longhuahaha/article/details/8556964

vs2015关键步骤如下:

上面的帖子里说的很详细了, 为了生成一个干净的ocx, 那么在

ocx admin •  2020-09-26 • 最后回复来自 admin
1

vs生成dll的学习

那么是不是可以直接把上面生成的Thraddll中多线程函数和CallbackDll联合起来使用呢?

当然也是可以的, 在aardio中示例如下:

aar里将两个dll进行关联, 然后就可以愉快的进行使用了.

import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=507;bottom=346) winform.add( button={cls="button";text="Button";left
dll admin •  2020-09-23 • 最后回复来自 admin
7

vs生成dll的学习

C++编写dll : 如何生成dll中的回调函数

首先在cpp中声明个函数指针

设置外部函数指针给上面的函数指针

使用刚刚重置后的函数

CPP代码如下:

#include "stdafx.h" int (*fcallback)(int data); voi
dll admin •  2020-09-23 • 最后回复来自 admin
7

inet.whttp长时间多线程采集后程序就挂了的解决办法

注:aardio v28.16.4版本以上已修正此问题


以下是早期版本修正方法。

感谢: fish 分享

虽然没测试, 收藏备用先

经验 admin •  2020-09-22

获取蓝奏云有密码和无密码分享的直连地址

感谢:xauto 分享代码

import web.json; import string.html; import web.rest.client; namespace lanzou; class client {     ctor(...) {         this = ..web.re
aardio web admin •  2020-09-15 • 最后回复来自 codex
3

vs生成dll的学习

c++编写的dll中使用多线程

需要用_beginthreadex 和_endthreadex来创建和销毁线程

用上面函数产生的句柄, 并不会自动销毁, 需要最后手动CloseHandle下.

使用上面函数需要引用 process.h 头文件


下面我再dll中声明一个函数, 里面无限循环一个变量进行自加, 另外一个函数用来获取这个变量当前值. C++的代码如下:

#include "stdafx.h" #include "pro
dll admin •  2020-09-15 • 最后回复来自 admin
7

ch372USB通信

import console;  var dll = raw.loadDll("/CH37xWR.dll",,"cdecl"); usbInit = dll.api("usbInit","bool(INT ulIndex)" ); usbClose = dll.api("usbClose","bool(void)" ); usbWrite = dll.api("usbWrite","INT(INT unEndPoint,pointer pSendBytes,INT unSendLength)" ); usbRead = 
aardio usb admin •  2020-09-11

记ProEssentials图表控件在aardio中的使用

科学图表实时显示第三种方式:

var F6 = function(){     //! Chart fills 100 points autoscaling x axis is it //! is filled.  Once 100 point have been passed, the //! chart then acts as a strip chart.   Pesgo1.setSubsets ( 1)   Pesgo1.setPoints ( 100) // Set Manual Y
波形图 图表 aardio admin •  2020-08-30 • 最后回复来自 admin
15

记ProEssentials图表控件在aardio中的使用

科学图表实时连续数据方式二:

var F5 = function(){     //! Chart fills 100 points autoscaling x axis is it //! is filled.  Once 100 point have been passed, the //! chart then acts as a strip chart.   Pesgo1.setSubsets ( 1)   Pesgo1.setPoints ( 100) // Set Manual Y scal
波形图 图表 aardio admin •  2020-08-30 • 最后回复来自 admin
15

记ProEssentials图表控件在aardio中的使用

科学图表的实时显示:(方式一)

下面的定时器里我用了REINITIALIZE_RESETIMAGE代替官方demo提供的RESET_IMAGE参数, 这样就没问题了,但是根据实际情况考虑的话, 每次更新数据后只需要刷新图片IMAGE即可, 而不需要REInitialize初始化下整个图表.....

这个问题先放一放, 继续下面的实验

var F4 = function(){     //! Chart fills 100 points autoscaling x axis i
波形图 图表 aardio admin •  2020-08-29 • 最后回复来自 admin
15

记ProEssentials图表控件在aardio中的使用

var F3 = function(){     CreateSimpleGraph();     // Create 4 separate axes and then overlap in two groups //   Pesgo1.setMultiAxesSubsets(0, 1 )// 1 subse
波形图 图表 aardio admin •  2020-08-29 • 最后回复来自 admin
15

记ProEssentials图表控件在aardio中的使用

var F2 = function(){     CreateSimpleGraph(); // Create 4 separate axes and then overlap all //   Pesgo1.setMultiAxesSubsets(0, 1 )// 1 subset on first ax
波形图 图表 aardio admin •  2020-08-29 • 最后回复来自 admin
15

记ProEssentials图表控件在aardio中的使用

var F1 = function(){ CreateSimpleGraph(); // Create MultiAxes //   Pesgo1.setMultiAxesSubsets(0, 2)   Pesgo1.setMultiAxesSubsets(1, 2)   Pesgo1.setMultiA
波形图 图表 aardio admin •  2020-08-29 • 最后回复来自 admin
15

记ProEssentials图表控件在aardio中的使用

科学图表 scientific , 指示控件名变了,其他同理

/*基础创建函数{{*/  var CreateSimpleGraph = function(){ // Enable middle mouse dragging //   Pesgo1.setMouseDraggingX ( tru
波形图 图表 aardio admin •  2020-08-29 • 最后回复来自 admin
15

记ProEssentials图表控件在aardio中的使用

再来个实时动态显示的例子:

var F8 = function(){ // No Shadows //   Pego1.setDataShadows ( PEDS_NONE) // No Flicker //   Pego1.setPrepareImages ( true)   Pego1.s
波形图 图表 aardio admin •  2020-08-28 • 最后回复来自 admin
15

记ProEssentials图表控件在aardio中的使用

记录一个大量数据时候的处理:

ProEssentials官方提供了一种处理大量数据的方法, 可以不用每次去设置YData值, 一次性给图表数据

这个方式需要调用它们提供的PEGRP32E.DLL中的函数PEvset

aardio中调用示例如下:

import win.ui; /*DSG{{*
波形图 图表 aardio admin •  2020-08-28 • 最后回复来自 admin
15

记ProEssentials图表控件在aardio中的使用

这个图表控件在科学计算、工业控制、金融统计等行业中有着大量的实际应用, 非常Nice

就是我经常使用的实时曲线就有多种模式选择 

支持3d图, 柱状图,饼图, 线图, 极点图,金融图,组合图, 可以任意组合实现不同效果

官方提供的示例非常详细,基本包含了所有的功能演示

此控件可以免注册调用,用com.lite()即可,省去注册时候权限问题的麻烦。

波形图 图表 aardio admin •  2020-08-25 • 最后回复来自 admin
15
登 录
信息栏
本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网
在线小工具
Pojie.Online

才仁机械


网站地图SiteMap