使用CDHtmlDialog ,实现javascript 调用C++
.h 文件
class CHtmlSkinDlg : public CDHtmlDialog
{
。。。。。
DECLARE_DISPATCH_MAP()
// !!! 覆盖基类的这个方法
BOOL CanAccessExternal()
{
// we trust all com object (haha, you can make virus)
return TRUE;
}
// 自定义方法
BOOL set_pos(int x, int y);
}
.cpp文件
BEGIN_DISPATCH_MAP(CHtmlSkinDlg, CDHtmlDialog)
DISP_FUNCTION(CHtmlSkinDlg, "set_pos", set_pos, VT_BOOL, VTS_I4 VTS_I4)
END_DISPATCH_MAP()
.html 文件
<SCRIPT type=text/javascript>
//<![CDATA[
window.external.set_pos(600, 400);
//]]>
</SCRIPT>
相关文档:
对Object的extend是一个常用的功能。举一个例子,由于javascript 没有重载(overload),而且函数的参数类型是没有定义的,所以很多时候我们都传入一个对象来作为参数已方便控制。通常在函数里面给了参数对象的默认值,这个时候就需要通过extend来把传入的参数覆盖进默认参数,如:
代码:
1. gia ......
//让某段代码延时执行
function delayRun(code, time) {
var t = setTimeout(code, time);
}
应用举例:
<input type="button" name="query" value="统计" class="long_button" onClick="return delayRun('onQuery()', 1000);"> ......
c与c++ static函数的区别
本文转自:http://blog.csdn.net/lipps/archive/2007/05/18/1615419.aspx
static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准).
(1)局部静态变量
(2)外部静态变 ......
在最近的一个关于LKML的讨论中,Linus给出了为什么不用C++来写Linux内核的理由:
"In fact, in Linux we did try C++ once already, back in 1992. It sucks. Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.
“事实上,我们曾经尝试过用C++来写,是在1992年的时候。很糟糕。相信我--用C++来写内核 ......