duilib基本布局学习(模仿百度网盘)及绑定按钮事件
使用的网易版本的duilib:
https://github.com/netease-im/NIM_Duilib_Framework
重写demo中basic.xml页面的布局,熟悉布局语法,类似于html语言,这里模仿百度网盘的UI:
<?xml version="1.0" encoding="UTF-8"?>
<Window size="662,442" caption="0,0,0,35">
<VBox><VBox bkcolor="bk_wnd_darkcolor"><HBox width="stretch" height="35" bkcolor=""><Control /><Button class="btn_wnd_min" name="minbtn" margin="4,6,0,0"/><Box width="21" margin="4,6,0,0"><Button class="btn_wnd_max" name="maxbtn"/><Button class="btn_wnd_restore" name="restorebtn" visible="false"/></Box><Button class="btn_wnd_close" name="closebtn" margin="4,6,8,0"/></HBox><HBox width="stretch" height = "60"><Control /><Label bkimage = "logo.png"/><Control /></HBox><HBox width="stretch" bkcolor="white"><Control width="70"/><VBox valign="center" halign="center"><Control height = "40"/><Label name="tooltip" text="扫一扫登录"/><Control height = "20"/><Label name="tooltip" text="使用百度APP扫码登录" normaltextcolor="blue"/><Control height = "20"/><Label bkimage = "QrCode.png" /><Control height = "20"/><Button text ="刷新二维码" name = "refresh_code" height = "30" width = "100" bordercolor="blue" bordersize="1" normaltextcolor="blue"/></VBox><Control width = "30"/><VBox valign="center" halign="center"><Control height = "40"/><HBox width="stretch" bkcolor="white"><Label text="账号密码登录"/><Control width = "30"/><Label text="短信快捷登录>" normaltextcolor="blue" /></HBox><RichEdit name="name" multiline="false" bordersize="1" bordercolor="blue" height = "30" width = "220"autohscroll="true"/><Control height = "10"/><RichEdit name="password" multiline="false" bordersize="1" bordercolor="blue" height = "30" width = "220" autohscroll="true" password="true"/><Control height = "10"/><HBox width="stretch" bkcolor="white"><CheckBox /><Label text="记住密码" /><Control width = "10"/><CheckBox /><Label text="自动登录" /></HBox><Button text ="登录" name = "login" height = "30" width = "220" bkcolor="blue" normaltextcolor="white"/><Control height = "10"/><Label text="注册账号" normaltextcolor="blue"/><Control /></VBox> <Control width="50"/></HBox></VBox></VBox></Window>
通过实现GetSkinFile接口告诉render去渲染basic.xml页面:
std::wstring BasicForm::GetSkinFile()
{return L"basic.xml";
}
在之前xml中定义的登录button名字为login,代码中通过名字找到对象,然后绑定按钮事件:
void BasicForm::InitWindow()
{this->SetShadowAttached(true);/* Show settings menu */ui::Button* msg = dynamic_cast<ui::Button*>(FindControl(L"login"));msg->AttachClick([this](ui::EventArgs* args) {ui::RichEdit* edit_name = dynamic_cast<ui::RichEdit*>(FindControl(L"name"));ui::RichEdit* edit_password = dynamic_cast<ui::RichEdit*>(FindControl(L"password"));auto str_name = edit_name->GetText();auto str_pass = edit_password->GetText();if (str_name == str_pass){MessageBoxA(0, "ok", "", 0);}return true;});
}
最后实现的效果:
duilib基本布局学习(模仿百度网盘)及绑定按钮事件相关推荐
- 百度网盘不能绑定QQ
一定要等!!!进度条!! 等全部加载完再点就可以了. 不然的话点关联账号的话会直接跳回个人信息页面. over. 百度账号(百度网盘)绑定QQ账号的页面为什么打不开 总会跳转到个人信息界面,和没点一样 ...
- 大文件下载断点续传后台功能,模仿百度网盘下载功能
最近项目遇到断点续传下载大文件的需求,网上百度了一下,找到了解决方式,感谢大帝的无私奉献. 为了将网盘下载的效果模仿的更真实,特将原作者的代码完善,本着为小白省下完善代码的时间考虑,写了这篇文章. 原 ...
- HTML零基础入门学习笔记提供网盘
HTML学习笔记 百度网盘链接:https://pan.baidu.com/s/1__O4dIxmKMIXPsx5OKb8aw 提取码:fmbv HYML(可在W3School查阅文档) 加粗:< ...
- 自己动手用Springboot实现仿百度网盘
项目编号:BS-PT-032 本项目基于Springboot开发实现,前端采用BootStrap开发实现,系统功能完整,交互性好,模仿百度网盘实现相关功能,比较适合做毕业设计使用,创意性强. 开发工具 ...
- 基于Springboot实现仿百度网盘开发
项目编号:BS-PT-032 本项目基于Springboot开发实现,前端采用BootStrap开发实现,系统功能完整,交互性好,模仿百度网盘实现相关功能,比较适合做毕业设计使用,创意性强. 开发工具 ...
- android安卓开发入门视频教程资料百度网盘下载
android安卓开发入门视频教程资料讲解安卓核心基础,包含视频+笔记,适合新手入门学习. 百度网盘:https://pan.baidu.com/s/1uciMAAa97nm5RSLILtdPdg&a ...
- linux环境下,模拟百度网盘上传、下载文件
目录 1.题目 2.运行截图 3.总体设计 4.详细设计 5.源码 5.1服务端 5.2客户端 1.题目 1)模仿百度网盘实现一个文件上传.下载.浏览的终端网盘; 2)能够实现文件和目录的存储; 3) ...
- duilib实战1-模仿百度网盘登录界面
侵权删,未经允许禁止转载!仅供学习使用! 前言: 刚上手duilib,还不太熟悉,而且没有官方文档,所以写几个实战项目来学习并巩固一下. 使用或实现的部分技术细节: 1.主窗体的边框 ...
- duilib仿百度网盘界面
duilib仿百度网盘界面 这一篇我们介绍使用DuiEditor做一个百度网盘的demo界面. 这一个版本中做了重大更新,设计界面使用了窗口分割,分别为设计.代码.上下分割.左右分割.并且设计和代码实 ...
最新文章
- 深度学习多框架多平台推理引擎工具
- SimpleDraw-Windows Phone7上的应用
- Luogu T9376 区间GCD
- 练习:每一分钟产生一个文件,保存本分钟内所有数字之和。
- 【android】getCacheDir()、getFilesDir()、getExternalFilesDir()、getExternalCacheDir()的作用
- MM(Majorize-Minimization, Minorize-Maximization)优化方法
- 如何在WINCE中添加WebServer组件
- scanf()的使用
- Day Tips:关于搜索小问题
- html点击计数器的实现,点击计数器_Servlet 教程_w3cschool
- C/C++多种方法获取文件大小(转)
- Go 语言为什么能成功?
- digester java_Java XML解析之Digester的使用
- 波士顿大学计算机科学与技术专业,BU波士顿大学计算机信息系统硕士Master of Science in Computer Information Systems...
- shell编程之正则表达式与文本处理器
- Rocky Linux Yum源替换位上海交大镜像站点
- 云脉OCR文档管理软件档案加工管理必备
- Latex 安装及学习教程
- MATLAB fprintf 函数输出希腊字母/特殊字符
- 自动驾驶入门(六):反向传播及链式法则
热门文章
- CUDA:根据本地电脑的NVIDIA显卡驱动版本去正确匹配待安装的CUDA版本之详细攻略
- 成功解决ValueError: Cannot feed value of shape (1, 10, 4) for Tensor Placeholder:0 , which has shape
- Python语言学习:基于python五种方法实现使用某函数名【func_01】的字符串格式('func_01')来调用该函数【func_01】执行功能
- NLP之word2vec:利用 Wikipedia Text(中文维基百科)语料+Word2vec工具来训练简体中文词向量
- ML之Clustering之H-clustering:Hierarchical clustering算法相关论文、主要思路、关键步骤、代码实现等相关配图之详细攻略
- CUMCM:05B DVD在线租赁
- DL之DNN:基于神经网络(从1层~50层)DNN算法实现对非线性数据集点进行绘制决策边界
- MAT之PLS:利用PLS(两个主成分的贡献率就可达100%)提高测试集辛烷值含量预测准确度并《测试集辛烷值含量预测结果对比》
- Laravel中一些要记住 的写法
- 阿里云搭建git mac客户端 2个git账号