1,下载HTMLayoutSDK,放在workspace。

SDK下载地址:http://www.terrainformatica.com/htmlayout/HTMLayoutSDK.zip

2,vs创建win32项目。

3,引入HTMLayoutSDK的include和lib。

include:项目右键,选属性,选C/C++,选常规,附加包含目录引入HTMLayoutSDK的include目录。

lib:项目右键,选属性,选连接器,选常规,附加库目录引入HTMLayoutSDK的lib目录。

4,将HTMLayoutSDK\bin目录下的htmlayout.dll文件放在项目目录下:D:\c_workspace\Win32Html\Win32Html

5,引入头文件。

#include <htmlayout.h>
#include "behaviors/notifications.h"
#include <htmlayout_behavior.hpp> #pragma comment(lib,"HTMLayout.lib")

6,改写LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)函数:

//
// 函数: WndProc(HWND, UINT, WPARAM, LPARAM)
//
// 目的: 处理主窗口的消息。
//
// WM_COMMAND - 处理应用程序菜单
// WM_PAINT - 绘制主窗口
// WM_DESTROY - 发送退出消息并返回
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
PAINTSTRUCT ps;
HDC hdc;
LRESULT lResult;
BOOL bHandled; // HTMLayout +
// HTMLayout could be created as separate window
// using CreateWindow API.
// But in this case we are attaching HTMLayout functionality
// to the existing window delegating windows message handling to
// HTMLayoutProcND function.
lResult = HTMLayoutProcND(hWnd,message,wParam,lParam, &bHandled);
if(bHandled)
return lResult; switch (message)
{
//htmlayout------------------------------beg
case WM_CREATE: HTMLayoutLoadFile(hWnd,_T("Hello.htm")); //Hello.htm需要放在和exe同一目录,记得把dll也copy过去 break;
//htmlayout------------------------------end
case WM_COMMAND:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
// 分析菜单选择:
switch (wmId)
{
case IDM_ABOUT:
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
// TODO: 在此添加任意绘图代码...
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage();
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return ;
}

7,新建一个html文件,文件名Hello.htm

里面随意写些内容:

<body>
<h2>hello world !</h2>
</body>

8,运行:

win32最简单的htmlayout图形界面demo的更多相关文章

  1. Objective-C MapKit的使用-LBS简单的租车主界面demo

    效果 分析 三个view:地图view.车辆信息view.车辆类型选择view 地图view:大头针的摆放,根据不同的种类显示大头针 车辆信息view:根据当前点击的大头针显示对应的车辆信息 车辆类型 ...

  2. Win32简单图形界面程序逆向

    Win32简单图形界面程序逆向 前言 为了了解与学习底层知识,从 汇编开始 -> C语言 -> C++ -> PE文件 ,直至今天的Win32 API,着实学的令我头皮发麻(笑哭). ...

  3. win32 htmlayout dom操作demo

    之前两篇关于win32 htmlayout博文,记载了一个实现了简单的点击按钮弹出新窗口的demo,之后实践中发现,图形界面开发,最重要的还是要实现响应用户操作,改变原有界面的功能.比如说,界面上有一 ...

  4. 创建Win32图形界面应用程序

    没有什么比创建一个Win32图形界面应用程序能让Win32汇编初学者更兴奋的了! 然而,对于像我这样没有代码便会陷入困境的人来说,看到下面的代码总能让人为之一振,百余行的代码使得Win32GUI编程并 ...

  5. 第六次作业——利用MFC实现计算器图形界面以及简单四则运算表达式批处理

    参考资料:      1.MFC响应键盘      2.计算器实例      3.MFC文件对话框      4.MFCUpdateData()函数的使用      5.MFC教程      6.wi ...

  6. JAVA简单Swing图形界面应用演示样例

    JAVA简单Swing图形界面应用演示样例 package org.rui.hello; import javax.swing.JFrame; /** * 简单的swing窗体 * @author l ...

  7. 2018-09-28 用Python3和tkinter开发简单图形界面程序

    源码库: program-in-chinese/wubi_code_editor 起因在这里. 由于此项目和汉字相关, 个人也想尝试Python的图形界面开发, 于是开始尝试. 遇到的一个坑. 用户测 ...

  8. 用aardio给python写个图形界面

    前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了. 于是百度了下python的图形界面库,眼花缭乱的一整页,拣了几件有“特色”有“噱头” ...

  9. 图形界面Aardio

    用aardio给python写个图形界面 前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了. 于是百度了下python的图形界面库,眼花 ...

随机推荐

  1. DHCP协议

    来源摘取自百度百科 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服 ...

  2. 毕向东tcp学习笔记1

    项目功能: 实现一次发送和接收,服务器接收客户端发送的内容并打印出来 用最通俗的语言讲解下,上图中大椭圆是服务器,A.C是客户端,当客户端和服务器通过socket建立连接后 1.两者之间形成一个通道, ...

  3. java udp socket(双通信)

    参考博客:http://blog.csdn.net/wintys/article/details/3525643/,非常感谢 实现功能:客户端发送字符串A      ->服务端接收并显示在控制台 ...

  4. GitHub 上下载代码运行报错 :'The sandbox is not sync with the Podfile.lock\'

    问题描述: github下载的Demo,很多时候使用到CocoaPods,有的时候因为依赖关系或者版本问题不能编译运行.出现例如The sandbox is not sync with the Pod ...

  5. Cassandra issue - "The clustering keys ordering is wrong for @EmbeddedId"

    在Java连接Cassandra的情况下, 当使用组合主键时, 默认第一个是Partition Key, 后续的均为Clustering Key. 如果有多个Clustering Key, 在Java ...

  6. html5 新特性

    1.querySelector 返回文档中匹配指定css选择器的一个元素. 注意:uerySelector() 方法仅仅返回匹配指定选择器的第一个元素 如果你需要返回所有的元素,请使用 querySe ...

  7. (译文)Python中的staticmethod与classmethod

    原文是stackoverflow的一则高票回答,原文链接 可能之前也有人翻译过,但是刚好自己也有疑惑,所以搬运一下,个人水平有限所以可能翻译存在误差,欢迎指正(如侵删). 尽管classmethod和 ...

  8. 软件测试作业1 — 令我印象最深的BUG

    回顾从大一到大三的学习生活,我在学习过程中遇到过许多BUG,刚开始和罗凯老师学习C++时从来没有接触过编程,那时候导致程序不能运行的原因多是语法错误和拼写错误,到了大一下学期,错误多出现在循环与条件跳 ...

  9. Xcode的中常用到的快捷键,印象笔记中常用到的快捷键

    Xcode提供了很多快捷键,灵活使用快捷键可以提升开发效率.但对于初学者来说,一次性的去记住并掌握如此多的快捷键显然是不现实的,本文就是来帮助大家了解在iOS开发过程中,使用最频繁的一些快捷键. 1. ...

  10. HTTP和HTTPS协议

    网络协议为计算机网络中进行数据交换而建立的规则.标准或约定的集合. URL:就是网址.http://www.hcios.com/archives/1547 URL就是资源的地址,位置.互联网上的每一个 ...