win32 htmlayout dom操作demo
之前两篇关于win32 htmlayout博文,记载了一个实现了简单的点击按钮弹出新窗口的demo,之后实践中发现,图形界面开发,最重要的还是要实现响应用户操作,改变原有界面的功能。比如说,界面上有一个用户列表,选择其中一个名字,点击删除按键,则可以将这个名字删掉。这种类似的操作是很常见的。使界面有了动态性。
对于win32 htmlayout就是操作html的dom节点,虽然没做过C++ win32,但做java web对dom操作也算很熟悉了。
dom操作就是这样:
//************************************
// 作 者: sonne
// 函 数 名: OnButtonClick
// 功 能: 按钮响应事件
// 完 整 名: OnButtonClick
// 访 问 权: public
// 返回值类型: VOID
// 方法限定符:
//************************************
void OnButtonClick(HELEMENT button)
{
htmlayout::dom::element cBut = button;
if (!wcscmp(cBut.get_attribute("id"),L"ACT"))
{
htmlayout::dom::element root;
htmlayout::dom::element name;
root = htmlayout::dom::element::root_element(hwnd);
name = root.get_element_by_id("NAME");
name.insert(htmlayout::dom::element::create("option", L"Whoami"), );
}
if (!wcscmp(cBut.get_attribute("id"),L"DEL"))
{
htmlayout::dom::element root;
htmlayout::dom::element nameList;
root = htmlayout::dom::element::root_element(hwnd);
nameList = root.get_element_by_id("NAME");
htmlayout::dom::element selName;
selName = nameList.find_first("option:checked");
selName.destroy();
SetWindowText(hwnd,"NAME LIST");
}
if (!wcscmp(cBut.get_attribute("id"),L"EDI"))
{
htmlayout::dom::element root;
htmlayout::dom::element nameList;
root = htmlayout::dom::element::root_element(hwnd);
nameList = root.get_element_by_id("NAME");
htmlayout::dom::element selName;
selName = nameList.find_first("option:checked");
selName.set_value("Iamwho");
SetWindowText(hwnd,"NAME LIST");
}
}
实现的效果:

初始化显示为Bob,Alice,Peter三个名字。点击ACT按钮则添加一个名为Whoami的名字,选中后点击EDI按钮则将名字改为Iamwho,选中后点击DEL按钮则删除。
这就是基于dom操作动态效果实现增删改查的小demo。
github代码地址:
https://github.com/SonnAdolf/sonne_desktop_graphical_development
win32 htmlayout dom操作demo的更多相关文章
- 从DOM操作看Vue&React的前端组件化,顺带补齐React的demo
前言 接上文:谈谈我对前端组件化中“组件”的理解,顺带写个Vue与React的demo 上次写完博客后,有朋友反应第一内容有点深,看着迷迷糊糊:第二是感觉没什么使用场景,太过业务化,还不如直接写Vue ...
- win32 htmlayout点击按钮创建新窗口,以及按钮图片样式
最近在做一个C++ win32的桌面图形程序,我不是C++程序员,做这个只是因为最近没什么java的活. windows api,之前接触的时候,还是大学,那时用这个开发打飞机游戏纯粹是娱乐.现在基本 ...
- 前端基础之BOM与DOM操作
目录 BOM操作 navigator对象 screen对象 history对象 localtion对象 弹出框 计时 setTimeout() clearTimeout() setInterval() ...
- 解密jQuery内核 DOM操作
jQuery针对DOM操作的插入的方法有大概10种 append.prepend.before.after.replaceWith appendTo.prependTo.insertBefore.in ...
- jquer 事件,选择器,dom操作
一.jQuery简介 jQuery 是一个 JavaScript 库.(其实就是js,就是封装了,语法上有些不一样) jQuery 极大地简化了 JavaScript 编程. jQuery 库位于一个 ...
- php : DOM 操作 XML
DOM 操作 XML 基本用法 XML文件: person.XML <?xml version="1.0" encoding="utf-8" ?> ...
- JQuery(选择器、事件、DOM操作)
一.jQuery简介 jQuery 是一个 JavaScript 库. jQuery 极大地简化了 JavaScript 编程. jQuery 库位于一个 JavaScript 文件中,其中包含了所有 ...
- 第3章 jQuery的DOM操作
一. DOM 分为DOM核心,HTML-DOM和CSS-DOM 1.DOM核心 不专属与javascript. 获取对象:document.getElementsByTagName('div') 获 ...
- javascript学习(二) DOM操作HTML
一:DOM操作HTML JavaScript能够改变页面中所有的HTML元素 JavaScript能够改变页面中所有的HTML属性 JavaScript能够改变页面中所有的CSS样式 JavaScri ...
随机推荐
- 稀疏编码(sparse code)与字典学习(dictionary learning)
Dictionary Learning Tools for Matlab. 1. 简介 字典 D∈RN×K(其中 K>N),共有 k 个原子,x∈RN×1 在字典 D 下的表示为 w,则获取较为 ...
- js获取计算后的样式表
在编写html时,使用dom对象的style属性可以获取标签里的style属性,但是不能获取单独css样式文件或者style标签的属性值 <div style="width:10px& ...
- 【t054】糟糕的网络
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 前几天sqybi 还在高高兴兴的用BOINC 完成着一个又一个的任务呢,但现在sqybi 突然变得闷闷 ...
- 学习OpenCV研究报告指出系列(二)源代码被编译并配有实例project
下载并安装CMake3.0.1 要自己编译OpenCV2.4.9的源代码.首先.必须下载编译工具,使用的比較多的编译工具是CMake. 以下摘录一段关于CMake的介绍: CMake是一个 ...
- effective c++ 条款7
1.随着多态基类应该声明一个质virtual析构函数. 假定class由于不管是什么virtual析构函数, 它应该有一个virtual析构函数. 2.classed的设计目的假设不是作为base c ...
- .net remoting 抛出异常
原文:.net remoting 抛出异常 本文告诉大家如何在使用 .net remoting 的时候,抛出异常. 所有在远程软件运行的类,如果需要传输到本地,都需要继承 MarshalByRefOb ...
- 我的MBTI职业性格测试
背景 最近在看<程序员的思维训练--开发人之前能的九堂课>,其中讲到了 MBTI 职业性格测试的指导意义.记起来两年多以前在面试 ASES 的时候有做过这个测试,只可惜当时的测试结果在好几 ...
- Extensible File System
An extensible file system format for portable storage media is provided. The extensible file system ...
- Retrieving data from a server
A system includes a server and a controller embedded in a device. Both the server and the embedded c ...
- Qt自定义弹窗屏蔽父窗口(QWidget设置setWindowModality(Qt::ApplicationModal);以后再show)
写Qt程序时遇到一个问题: Qt自带的弹窗功能单一,所以须要自己用ui设计弹窗的内容,这样弹窗就和普通窗口一样了,但问题是这个弹窗显示后父窗口还是活动的.网上找了很久找到了解决办法: Qt::Wind ...