易截截图软件、单文件、免安装、纯绿色、仅160KB

解决COM显示HTML,无法copy、paste的问题

这两个操作默认是被屏蔽了的,需要手动拦截按键消息然后处理。
如果嵌入HTML的窗口拿不到WM_KEYDOWN这样的消息,就只好直接在消息循环里拦截了:
{
while (0 != (r = GetMessage(&msg, NULL, 0, 0))) {
if (r == -1) {
break;
}
if (CheckIfDealCopyPaste(msg)) {
continue;
}
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
然后检查按键:
bool CheckIfDealCopyPaste(const MSG &msg)
{
if (msg.message != WM_KEYDOWN) {
return false;
}
BOOL bCtrlDown = (0x80 & GetKeyState(VK_CONTROL));
if (msg.wParam == _T('X') && bCtrlDown) {
DoCommand(L"Cut");
return true;
} else if (msg.wParam == _T('C') && bCtrlDown) {
DoCommand(L"Copy");
return true;
} else if (msg.wParam == _T('V') && bCtrlDown) {
DoCommand(L"Paste");
return true;
} else if (msg.wParam == _T('A') && bCtrlDown) {
DoCommand(L"SelectAll");
return true;
}
return false;
}
void DoCommand(LPCWSTR szCommand)
{
BSTR bStr = SysAllocString(szCommand);
DoWebCommand(m_hWnd, bStr); // m_hWnd为嵌入HTML的窗口句柄
SysFreeString(bStr);
}
// 这是一个C函数
void WINAPI DoWebCommand(HWND hWnd, BSTR idCmd)
{
IOleObject **browserHandle;
IOleObject *browserObject;
TRACE_FUNC;
if ((browserHandle = (IOleObject **)GetWindowLongPtr(hWnd, GWLP_USERDATA)))
{
browserObject = *browserHandle;
do
{
IWebBrowser2 *webBrowser2 = NULL;
IConnectionPointContainer *spCPC = NULL;
IConnectionPoint *spCP = NULL;
IDispatch *pDoc = NULL;
IHTMLDocument2 *htmlDoc = NULL;
VARIANT_BOOL bVal;
HRESULT hr;
hr = browserObject->lpVtbl->QueryInterface(browserObject, &IID_IWebBrowser2, (void**)&webBrowser2);


相关文档:

将HTML页面嵌入FLEX应用中

先用现成的组件玩一下,一会再去看看组件源码研究一下。
http://code.google.com/p/flex-iframe/
下载了flexiframe.swc,引入工程。
flex代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="absolute"
   ......

Struts html:link 标签的使用

Struts -- html:link 标签的使用
 
<html:link> 标签用于生成HTML <a> 元素。<html:link> 在创建超链接时,有两个优点:
(1) 允许在URL 中以多种方式包含请求参数。
(2) 当用户浏览器关闭Cookie 时,会自动重写URL,把SessionID 作为请求参数包含在URL 中,用于跟踪用户的Session 状态。
< ......

html解析 网页颜色编码表

网页预定义颜色编码列表
const unsigned int gl_color_value[] = {
 0xF5F5DC,
 0x000000,
 0xFF0000,
 0xD2B48C,
 0xFFD700,
 0x008080,
 0xF0E68C,
 0x00FF00,
 0x00FFFF,
 0x0000FF,
 0x00FFFF,
 0xFF7F50,
 0x008000,
 0xFDF5E6 ......

HTML 标签


定义和用法
<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。
该标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。
以下面这个 <!DOCTYPE> 标签为例:
<!DOCTYPE html
PUBLIC "-//W3C//DT ......

HTML读书笔记

1.防止图片被下载和盗用的方法:
  (1)<div>嵌套<img>设置<div>的背景图片为实际图片,<img>包含的图片是一张透明图片,两张图片的尺寸相同。即相当于在真实图片上添加了一层保护膜,这张保护膜就是透明图片。这样当用户选择“图片另存为”时,将保存的是透明图片,而不是实际图 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号