Sciter(HTMLayout)中元素的 增 删 改 查

先看看效果:

Sciter(HTMLayout)中元素的 增 删 改 查_第1张图片

 

 

注:SDK使用的是 Sciter3 Beta SDK,代码可以通用。

HTML代码:



	
	test


	

hello

你的手啊!

----


 

Win32 程序中的头文件:

#include "stdafx.h"
#include "W32Test.h"
#include "include/sciter-x.h"
#include "include/sciter-x-dom.hpp"
#pragma comment(lib,"sciter32.lib")
#include 
using namespace sciter;


 

增删改查部分代码:

case IDM_INSERT: //插入,增
			{
				//获取根节点
				dom::element root = dom::element::root_element(hWnd);
				//查找想要添加的位置节点,也可以直接向根部添加
				dom::element div1 = root.find_first("div.add");
				//第一种方式,创建节点
				dom::element p = dom::element::create("a",L"0ads ");
				//设置节点参数
				p.set_attribute("href",L"#");
				//添加
				div1.append(p);

				//第二种方式,直接改html
				std::string strHtm = " 110zxy ";
				//最后一个参数一定要设置好
				div1.set_html((unsigned char*)strHtm.c_str(),strHtm.length(),SIH_APPEND_AFTER_LAST);
			}
			break;
		case IDM_DEL:  //删除
			{
				//获取根节点
				dom::element root = dom::element::root_element(hWnd);
				//查找想要删除的位置节点
				dom::element div1 = root.find_first("div.add");
				div1.detach();
			}
			break;
		case IDM_CHANGE: //改
			{
				//获取根节点
				dom::element root = dom::element::root_element(hWnd);
				//查找想要修改的位置节点
				dom::element div1 = root.find_first("div.add");
				div1.set_text(L"直接改变");
				//还可以直接修改html内容
				std::string strHtm = " uuu ";
				div1.set_html((unsigned char*)strHtm.c_str(),strHtm.length(),SIH_REPLACE_CONTENT);
			}
			break;
		case IDM_FIND: //查找
			{
				//获取根节点
				dom::element root = dom::element::root_element(hWnd);
				//根据标签和类名查找
				dom::element div1 = root.find_first("div.add");//root.find_all()可用来查找所有的,以后再研究
				//根据坐标点查找
				POINT pt;
				pt.x = 100;
				pt.y = 100;
				div1 = root.find_element(hWnd,pt);
				
				//root.first_sibling(), 最近的相同姐弟元素
				//root.find_nearest_parent(),筛选的最近的父类元素
			}
			break;


 

 

By BBDXF

 

 

 

你可能感兴趣的:(C/C++,界面库)