DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 456 457 458 459 460 461 462 463 464 ··· 474 下一页

2012年7月17日

摘要: 问题是这样产生的.在OnEraseBkGnd中,如果你不调用原来缺省 的OnEraseBkGnd只是重画背景则不会有闪烁.而在OnPaint里面, 由于它隐含的调用了OnEraseBkGnd,而你又没有处理OnEraseBkGnd 函数,这时就和窗口缺省的背景刷相关了.缺省的 OnEraseBkGnd操作使用窗口的缺省背景刷刷新背景(一般情况 下是白刷),而随后你又自己重画背景造成屏幕闪动. 另外一个问题是OnEraseBkGnd不是每次都会被调用的.如果你 调用Invalidate的时候参数为TRUE,那么在OnPaint里面隐含 调用BeginPaint的时候就产生WM_ERASEBKGN 阅读全文
posted @ 2012-07-17 16:07 DoubleLi 阅读(4562) 评论(0) 推荐(0)

摘要: 设置对话框背景颜色及背景图片可在OnCtlColor(),OnEraseBkgnd(),OnPaint()里设置,对话框初始化完毕,显示窗口时按顺序调用OnSize()>OnEraseBkgnd()>OnPaint()>OnCtlColor()。OnEraseBkgnd()中默认调用基类(CFrameWnd)的OnEraseBkgnd(), 用窗口类中注册的Brush绘制背景。因此,绘制窗口背景时最好重写OnEraseBkgnd(),但后面不能调用基类的OnEraseBkgnd()。同时,MSDN关WM_ERASEBKGND消息的说明中有写道,DefWindowProc使用窗 阅读全文
posted @ 2012-07-17 10:48 DoubleLi 阅读(6179) 评论(0) 推荐(1)

摘要: 在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗体在响应WM_PAINT消息的时候要进行复杂的图形处理,那么窗体在重绘时由于过频的刷新而引起闪烁现象。解决这一问题的有效方法就是双缓冲技术。因为窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图象颜色的反差。当WM_PAINT的响应很频繁的时候,这种反差也就越发明显。于是我们就看到了闪烁现象。我们会很自然的想到,避免背景色的填充是最直接的办法。但是那样的话,窗体上会变的一团糟。因为每次绘制图象的时候都没有将原来的图象清除,造 成了图 阅读全文
posted @ 2012-07-17 10:47 DoubleLi 阅读(10533) 评论(0) 推荐(0)

2012年7月16日

摘要: ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件。一:vc创建activex控件创建一个activex控件,名称为:test.ocx,创建步骤略。显示结果如下:为该控件增加一个方法void GetStr(LPCTSTR str),该方法内部代码如下:这样,GetStr方法就被加入了。onDraw函数下代码如下下面,测试该方法,鼠标右键控件,选择Invoke Methods,弹出如下对话框 阅读全文
posted @ 2012-07-16 16:05 DoubleLi 阅读(4038) 评论(0) 推荐(0)

摘要: 开篇语:最近在弄ocx控件发布到asp.net网站上使用,就是用户在使用过程中,自动下载安装ocx控件。(此文章也是总结了网上好多人写的文章,我只是汇总一下,加上部分自己的东西,在这里感谢所有在网上发表相关内容的朋友们。)ActiveX控件 用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。控件下载一 次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件。这里控件容器就是浏览器,用户不需要通过浏览器调 用控件的属性或方法。因此,开发面向Web的ActiveX控件比开发 阅读全文
posted @ 2012-07-16 15:25 DoubleLi 阅读(493) 评论(0) 推荐(0)

摘要: 今天看到淘宝UED团队发布了一个Chrome扩展,用于支持在Chrome浏览器点击"和我联系"按钮会弹出旺旺的聊天窗口。我把这个扩展下载了下来,发现里面使用了插件,不理解这个"npwangwang.dll"对应的代码就不能理解这个扩展,Google官方文档中没有怎么讲插件的开发,也找不到什么好的实例。如果淘宝将这个扩展的源代码公开就好啦,刚好一直想研究下Mozilla NPAPI的使用,毕竟Javascript的接口很有限。Chrome OS的右上角要显示很多系统信息,比如电池的电量,这通过浏览器扩展没法完成,我想要直接调用系统接口就应该通过插件来完成。 阅读全文
posted @ 2012-07-16 15:00 DoubleLi 阅读(1273) 评论(0) 推荐(1)

摘要: 问题一解决方案:在编activex控件时,可以用到Active X control test container来测试activex控件,这在VisualStudio 6里面是很方便查找的,工具菜单下面就有。但是在visaul studio 2008 里面TSTCON32.exe这个文件却消失了。那它是没了吗,不是的。而是微软把它放在了例子程序里面,需要自己编译。详细目录:比如我装在C盘里面,VC的例子在 “C:\Program Files\Microsoft Visual Studio 9.0\Samples\2052\AllVCLanguageSamples.zip”,吧这个文件解压缩以后 阅读全文
posted @ 2012-07-16 14:58 DoubleLi 阅读(5347) 评论(0) 推荐(0)

摘要: 1,环境的配置 参考这篇bolg:http://blog.csdn.net/mythma/archive/2008/08/31/2857664.aspx工程 / 调试 / 命令:C:/Program Files/Internet Explorer/iexplore.exe工程 / 调试 / 命令参数:E:/RYF resource/activexApp/a.html注意:命令参数必须是绝对路径! 使用绝对路径打开ie时候,会报“诊断错误!”2,生成ocx时候我写activex使用了opencv库,添加了opencv的dll路径的环境变量,所以并没有将dll拷贝到生成的ocx文件夹!报错:1&g 阅读全文
posted @ 2012-07-16 14:57 DoubleLi 阅读(686) 评论(0) 推荐(0)

摘要: 不知道是不是微软的粗心大意,VS2008中竟然没有ActiveX控件测试容器。幸好需要在IE中测试控件,就不需要那个测试容器啦。1. 生产测试控件的HTML:<HTML><HEAD><TITLE>Test</TITLE></HEAD><BODY><OBJECT ID="MyActiveX" WIDTH=800 HEIGHT=600CLASSID="CLSID:5228A02F-8FBD-424C-B457-EEBD4E748504"> <PARAM NAME=&qu 阅读全文
posted @ 2012-07-16 14:54 DoubleLi 阅读(2067) 评论(0) 推荐(0)

摘要: 问题: 我在学习编程过程中,在ocx静态调用Dynamic Link Library,链接提示错误:Project:error PRJ0050:未能注册输出。请尝试启用“每个用户的重定向”,或用提升权限从命令提示窗口中注册该组件。以为是win7中权限问题,可以看了属性没什么问题? 解答: 根据所述,肯定不是权限问题,而是由于在ocx中引用的dll,没有放在生成ocx控件的目录中,链接就出现了找不到的提示信息。另外查询的资料供参考如下:[c++]"Project : error PRJ0050: 未能注册输出。请确保您有修改注册表的相应权限"错误的解决原创空间, 软件技术, 阅读全文
posted @ 2012-07-16 14:50 DoubleLi 阅读(11221) 评论(1) 推荐(0)

上一页 1 ··· 456 457 458 459 460 461 462 463 464 ··· 474 下一页