![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
windows编程
文章平均质量分 55
newstarao
这个作者很懒,什么都没留下…
展开
-
BeginPaint() 和EndPaint() 比较
请教两种函数的作用?BeginPaint() 和EndPaint() 可以删除消息队列中的WM_PAINT消息,并使无效区域有效。GetDC()和ReleaseDC()并不删除也不能使无效区域有效,因此当程序跳出 WM_PAINT 时 ,无效区域仍然存在。系统就回不断发送WM_PAINT消息,于是程序不断处理WM_PAINT消息。相当于BeginPaint、EndPaint会告诉GDI内部,这个窗原创 2008-11-11 22:49:00 · 3197 阅读 · 0 评论 -
零散的总结
1.一个错误。不能将参数 1 从“const char [10]”转换为“const wchar_t *”解释:在unicode环境中使用“”的字符串时会出现此错误,以前直接把项目的属性里设置下,但这次用到ODBC不知怎么不行了于是百度,提示在字符串前加_T()函数。2.错误2.参数不足,期待为1。在数据库查询时出现。解释:通常是因为查询语句格式错误。比如对于字符串字段要写成"A=x原创 2009-07-08 20:14:00 · 450 阅读 · 0 评论 -
无法打开文件 mfcn42d.lib
关于错误:无法打开文件 mfcn42d.lib今天下载了一个源码,编译出现错误“重写虚函数返回类型有差异,且不是来自 CFile::GetPosition 的协变”其实就是说子类在重写父类函数时返回类型不一样。看了看父类函数返回值是ULONGLONG,子类DWORD,修改子类返回值为ULONGLONG。错误解决。再说标题的错误,google了一下据说是从vc5.0转vc2005的时原创 2009-07-31 22:39:00 · 2475 阅读 · 1 评论 -
提高绘图效率,避免闪烁【汇总】
清除屏幕闪烁由于作图过于复杂和频繁,所以时常出现闪烁的情况,一些防止闪烁的方法,如下:(1)将Invalidate()替换为InvalidateRect()。Invalidate()会导致整个窗口的图象重画,需要的时间比较长,而InvalidateRect()仅仅重画Rect区域内的内容,所以所需时间会少一些。不要为一小块区域的重画就调用Invalidate(),不愿意自己去计算需转载 2009-05-26 15:28:00 · 657 阅读 · 0 评论 -
VC++ 深入详解 学习笔记(5) -- 修改窗口样式续
link:http://elton.javaeye.com/category/28869之前说过, 修改窗口大小,窗口样式的方法。 这里说明一下修改窗口的图标,光标和背景的方法。修改窗口大小,样式是在创建窗口的时候进行的,而修改图标,光标和背景是在设计窗口类的时候进行的。 由于MFC封装了相关操作。 所以我们需要将自己写的窗口类应用到MFC的框架中。 1. 通过窗口类进行修改转载 2009-05-23 10:02:00 · 1241 阅读 · 0 评论 -
CBitmap和HBITMAP的区别及相互转换方法
hbitmap是bitmap的指针,msdn中:Handle to a bitmap.typedef HANDLE HBITMAP;cbitmap是mfc中封装bitmap的类;msdn中: Encapsulates(囊括) a Windows graphics device interface (GDI) bitmap and provides member func原创 2009-05-22 20:46:00 · 16127 阅读 · 0 评论 -
mfc不能运行
在自己的电脑上做好的mfc程序,运行很正常。放到别人的机子上提示“配置错误”,查了下菜知道原来是编译的时候应该选择静态dll否则运行程序里没有必要的dll当然体积也比较小。原创 2009-05-20 14:53:00 · 930 阅读 · 1 评论 -
View类 Doc类等的指针获得
下面一段代码,就是利用CDocTemplate、CDocument和CView之间的存取关系,遍历整个文档模板、文档以及视。 CMyApp * pMyApp = (CMyApp *)AfxGetApp(); POSITION p = pMyApp->GetFirstDocTemplatePosition(); while(p!=原创 2009-04-22 16:10:00 · 1654 阅读 · 0 评论 -
VS2005中变量默认未初始化
今天同学发给我一个vc6.0的程序,据说能正常运行,我用2005打开,结果编译运行提示要我中断。。。设置断点才发现时因为类里一个int全局变量未初始化,查看局部变量发现为巨大负数。。。在类的构造函数里加了句m_a=0,问题解决!看来6.0和2005区别很厉害原创 2009-04-23 22:02:00 · 639 阅读 · 0 评论 -
关于#pragma once(转)
在所有的预处理指令中,#pragma指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为:#pragma para,其中para为参数,下面来看一些常用的参数。转载 2009-03-23 11:56:00 · 500 阅读 · 0 评论 -
windows编程中关于设置映象模式的四个函数SetWindowOrg SetViewPortOrg SetMapMode SetWindowExtEx SetViewPortExtEx
一、Windows中的映射模式 1、Windows定义映射模式的目的 经过我的综合,Windows定义映射模的目的又以下几个方面:1、不同人的使用习惯。不同国家的,不同地区,以及不同的人因为习惯喜欢用不同的度量单位,有的人人喜欢用英寸,而有的人喜欢用公制中的厘米,毫米等。其他的人又喜欢用另外一些单位。、2、使软件与硬件向分离开来。让开发的软件能够最大限度的与硬件无关。3、提供逻辑和物理的一种转换。原创 2009-03-10 10:32:00 · 1038 阅读 · 0 评论 -
旋转的风车VC++实例代码
//源程序如下#include #include #include #include #define PI 3.1415926int nNum=0,nMaxNum=20;LRESULT CALLBACK WindowProc(HWND hwnd, // handle to windowUINT uMsg, // message identifierWPARAM wP原创 2009-03-10 17:54:00 · 1941 阅读 · 0 评论 -
窗体的扩展样式和其值
WS_EX_ACCEPTFILES = 0x00000010指明了一个已创建视窗具有拖拽文件功能WS_EX_APPWINDOW = 0x00040000强制一个可见的顶级视窗到工具栏上WS_EX_CLIENTEDGE = 0x00000200使一个视窗具有凹陷边框WS_EX_COMPOSITED = 0x02000000Windows XP:将一个窗体的所有子窗口使用双缓冲按照从低转载 2009-01-19 20:13:00 · 663 阅读 · 0 评论 -
WM_MESSAGE、WM_COMMAND、WM_NOTIFY等消息有什么不同
WM_MESSAGE是最普通的WINDOWS消息,对于这种类型的消息没什么好说的。那WM_COMMAND和WM_NOTIFY消息都是WINDOWS CONTROL给它的父窗体发的消息,那这两种消息有什么不同呢?WM_COMMAND消息其实是早期的(WIN3.X时代)子窗体消息,子窗体给父窗体发送消息,父窗体就捕获WM_COMMAND来处理子窗体的消息。但是这个消息只包括了有限的信息,例如原创 2009-01-14 13:49:00 · 2561 阅读 · 0 评论 -
wm_command
wm_command 和 WM_notify两个消息都是windows下面的消息,主要都是用在窗体和窗体上的控件之间的消息传递,当然,在delphi中,对windows的一些消息进行了改变,但是这写所改变的消息不是最主要的。对于wm_command和wm_notify它们各自针对的对象不同,像button,edit,combobox等控件,主要使用wm_command消息,而原创 2009-01-14 13:48:00 · 855 阅读 · 0 评论 -
失误
1。如果vs提示你“无法解析的外部符号 "int __stdcall ReBoot(void)”那么很可能你把某个函数名写错了。尤其是大小写很容易不小心就。。。2。 重定义;以前的定义是“原先未知的标识符”//声明INT_PTR CALLBACK ReBoot();//定义INT_PTR ReBoot(){。。。}这样就会报错。因为加了callback查看知道:#define CALLBACK原创 2009-01-11 22:52:00 · 559 阅读 · 0 评论 -
几个GDI函数
RoundRect (hdc, xLeft, yTop, xRight, yBottom, xCornerEllipse, yCornerEllipse) ;Windows使用一个小椭圆来画圆角,这个椭圆的宽为xCornerEllipse,高为yCornerEllipse。可以想象这个小椭圆分为了四个部分,一个象限一个,每个刚好用在矩形的一个角上。xCornerEllipse和yCornerEll转载 2008-11-11 22:52:00 · 1320 阅读 · 1 评论 -
vs内联汇编的一个小问题
<br /> 在vs中如果想要这种效果<br /> mov ecx,0x1150298<br /> mov ecx,[ecx]<br />那么写成<br /> mov ecx,[0x1150298]<br />这样是不可以的,vs会自作主张的处理为<br />mov ecx,0x1150298<br />非常诡异。。。<br />但是类似<br /> mov eax,[eax+0x5c]<br />这样的是没问题的<br />、、、、、、、、、、、、、、、、、、、、、、、、、、<br />mov [0原创 2011-04-01 01:16:00 · 853 阅读 · 1 评论