通知消息(Notification message)是指这样一种消息,一个窗口内的子控件发生了一些
事情,需要通
知父窗口。通知消息只适用于标准的窗口控件如按钮、列表框、组合框、编辑框,以及
Windows 95公
共控件如树状视图、列表视图等。例如,单击或双击一个控件、在控件中选择部分文本
、操作控件的
滚动条都会产生通知消息。
按扭
B N _ C L I C K E D file://用户单击了按钮
B N _ D I S A B L E file://按钮被禁止
B N _ D O U B L E C L I C K E D file://用户双击了按钮
B N _ H I L I T E file://用户加亮了按钮
B N _ PA I N T按钮应当重画
B N _ U N H I L I T E加亮应当去掉
组合框
C B N _ C L O S E U P组合框的列表框被关闭
C B N _ D B L C L K用户双击了一个字符串
C B N _ D R O P D O W N组合框的列表框被拉出
C B N _ E D I T C H A N G E用户修改了编辑框中的文本
C B N _ E D I T U P D AT E编辑框内的文本即将更新
C B N _ E R R S PA C E组合框内存不足
C B N _ K I L L F O C U S组合框失去输入焦点
C B N _ S E L C H A N G E在组合框中选择了一项
C B N _ S E L E N D C A N C E L用户的选择应当被取消
C B N _ S E L E N D O K用户的选择是合法的
C B N _ S E T F O C U S组合框获得输入焦点
编辑框
E N _ C H A N G E编辑框中的文本己更新
E N _ E R R S PA C E编辑框内存不足
E N _ H S C R O L L用户点击了水平滚动条
E N _ K I L L F O C U S编辑框正在失去输入焦点
E N _ M A X T E X T插入的内容被截断
E N _ S E T F O C U S编辑框获得输入焦点
E N _ U P D AT E编辑框中的文本将要更新
E N _ V S C R O L L用户点击了垂直滚动条消息含义
列表框
L B N _ D B L C L K用户双击了一项
L B N _ E R R S PA C E列表框内存不够
L B N _ K I L L F O C U S列表框正在失去输入焦点
L B N _ S E L C A N C E L选择被取消
L B N _ S E L C H A N G E选择了另一项
L B N _ S E T F O C U S列表框获得输入焦点
////////////////////////////////////////////////////
CString str=""; //如果工程设置使用多字节字符集,是正确的;使用unicode字符集,则是错误的
CString str=''; //错误
CString str=NULL;//错误
CString str; str.Empty(); //正确,但Empty调用多余
CString str; //这样就初始化为空了,因为默认构造函数会被调用,默认构造函数所做的就是初始化为空串
使用中途要清空可以这样写:
str.Empty();
或者str = _T(""); 
这2种都是多字符集和unicode字符集通用写法。
////////////////////////////////////
AfxGetResourceHandle();
AfxSetResourceHandle(HINSTANCE xxxx);
AfxGetResourceHandle()用于获取当前资源模块句柄,而AfxSetResourceHandle则用于设置
程序目前要使用的资源句柄。
///////////////////////////////////////////
GetModuleHandle 得到模块的句柄。参数为模块的名称,
比如 abcd.dll(也可能有.exe,不过较少)。
如果参数为NULL,表示取当前进程(.exe)
的模块句柄模块句柄实际上就是模块在当前进程空间的装入地址。
exe程序装入句柄一般为 0x00400000
////////////////////////////////////////////////////////////////////////////
ERROR_IO_PENDING错误
重叠I/O返回的标志啊。表示现在等待I/O,稍后就会返回
重叠模型里面的WSA_IP_PENDING错误很正常。
重叠I/O的事件通知方法要求将windows事件对象与WSAOVERLAPPED结构关联在一起,若是使用一个WSAOVERLAPPED结构,
发出I/O调用时会立即返回,通常会返回WSA_IP_PENDING错误,意味着I/O操作正在进行。
稍后的某个时间,应用程序需要等候与WSAOVERLAPPED结构相关联的事件对象,判断某个重叠I/O请求何时完成。
///////////////////////////////////////////////////////////////////////////////////////////////////
初始化和赋值有什么区别
初始化与赋值是不同的概念:静态变量的初始化是在编译时进行,变量的赋值是在函数或程序运行时进行。
静态变量只初始化一次,但可以通过赋值的方式多次修改静态变量的值。
//////////////////////////////////////////////////////////////////////////
OnDraw函数是系统什么时候调用的?
由于,程序初始化时,会调用ShowWindow以及UpdateWindow,而UpdateWindow会发送一个WM_PAINT消息给系统,
因此,你加在OnDraw中的断点会在初始化时生效,又由于,AppWizard生成的程序框架中包含许多涉及发送WM_PAINT消息的函数,
比如,当你调整窗口大小,使得客户区中的显示内容改变时,窗口的OnSize函数会发送WM_PAINT消息,此时OnDraw会被调用。
所以,在客户区的显示内容改变,客户区的大小改变,客户区由隐藏到显示,以及诸如此类使客户区内容改变的操作,
都会发送WM_PAINT消息,从而调用OnDraw。
/////////////////////////////////////////////////////////////////////
如何屏蔽鼠标中间键???mfc
一个list控件中会有垂直滚动条,现在我不想用鼠标中间键来下来滚动!!如何才能屏蔽它????
BOOL CMyListCtrl::PreTranslateMessage(MSG* pMsg)
{
    // TODO: 在此添加专用代码和/或调用基类
    if(pMsg->message == WM_MOUSEHWHEEL)
    {
        return TRUE;
    }

return CListCtrl::PreTranslateMessage(pMsg);
}
------解决方案--------------------------------------------------------
你在派生类中重写ON_WM_MOUSEWHEEL()给一个空事件就完了
////////////////////////////////////////////////////////////
svn软件开发管理软件。要删除已提交的文件,那么就是空提交此文件,就可以了。
如:mage文件,当给名为magee时,在提交,就删除了mage了。
////////////////////////////////////////////////////////////
如何选择同步对象
1,如果应用程序在它能够访问某一资源之前,需要等待某一事件发生或完成,那么,这时就应该考虑用事件对象。
2,如果同一个应用程序中有多个线程要同时访问同一个资源,应该考虑使用信标对象。
3,如果多个应用程序要同时使用一个资源,则应该考虑使用互斥量。
4,如果不是上面所述任何一种情况,可以考虑使用关键代码段。
///////////////////////////////////////////////////////////////////
Virtual C++ 中Resources视图的string table作用是什么啊?
IDR_MAINFRAME 这个标识符 不仅用来指定应用程序的字符串,还标识了应用程序的图标、工具条资源和菜单。
应用程序向导 生成了这些资源,而你可以用资源编辑器对它们进行修改维护操作。-
-------就是说 应用程序向导 生成了 以 IDR_MAINFRAME 命名的资源,各个种类都有(书上还漏写了 快捷键 资源)
-------String Table 是字符串表。 其中是这个程序所要显示的那些文本。
包括在状态条里显示的、消息框显示的…… 在程序中只是加载它们。这样使以后修改起来比较方便。
///////////////////////////////////////////////////////////////////////////////
GDI+画扇形
//Pen pen(m_clOutLine, m_nOutLineWidth);
//graphics.DrawPolygon(&pen,m_pCoordinateDataPoint1, luBezierCurvePointNum);

//if (m_bFill)
//{
//SolidBrush solidBrush(Color(80, 255, 180, 255));
//graphics.FillPolygon(&solidBrush,m_pCoordinateDataPoint1, luBezierCurvePointNum);
//}

//double ROne = g_p2DView->m_Map.GeoMetric2Pixel(30 * 1000); //距离转换为平面象素
//double RTwo = g_p2DView->m_Map.GeoMetric2Pixel(45 *1000);
//pDC->MoveTo(pt[0]);
//pDC->LineTo(pt[1]);

//CRect rectA(pt[0].x - ROne,pt[0].y - ROne,pt[0].x + ROne,pt[0].y + ROne);
//pDC->MoveTo(pt[2]);
//pDC->ArcTo(rectA,pt[2],pt[1]);
//pDC->MoveTo(pt[2]);
//pDC->LineTo(pt[3]);
//CRect rectB(pt[0].x - RTwo,pt[0].y - RTwo,pt[0].x + RTwo,pt[0].y + RTwo);
//pDC->MoveTo(pt[4]);
 //   pDC->ArcTo(rectB,pt[4],pt[3]);
//pDC->MoveTo(pt[4]);
//pDC->LineTo(pt[5]);
//pDC->MoveTo(pt[6]);
//pDC->ArcTo(rectA,pt[6],pt[5]);
//pDC->MoveTo(pt[6]);
//pDC->LineTo(pt[0]);

//g_p2DView->m_Map.GeoConvXY2Screen(&ptCenter,posCenter.x,posCenter.y);
//经纬度转换为屏幕坐标

//double r = g_p2DView->m_Map.GeoMetric2Pixel(d1 * 1000); //距离转换为平面象素

//绘制标牌背景[lv 1/2/2010]
//Graphics graphics(pDC->m_hDC);
//SolidBrush solidBrush(Color(m_byLabelTrans, 255, 255, 255));
//Brush *cloneBrush = solidBrush.Clone();//
//graphics.FillRectangle(cloneBrush, x2 - 5,y2 - 3, unMaxLen*BiaoPai_CharX - 2, nDisRows*BiaoPai_CharY + 3);//

//Color gdipColor(m_byLabelTrans, 0, 0, 255);
//unsigned long gdiColorRef = m_clLabel; 
//gdipColor.SetFromCOLORREF( gdiColorRef );

//Pen pen(Color(255,255,255,255));
//graphics.DrawPie(&pen,ptCenter.x,ptCenter.y,r,r,0,2*dAngle1);

//pDC->MoveTo(ptCenter);
//pDC->AngleArc(ptCenter.x,ptCenter.y,r,0,2*dAngle1);

//PointF *points = new PointF[7];
//for (int i = 0; i < 7; i++)
//{
//points[i].X = pointList[i].x;
//points[i].Y = pointList[i].y;
//}
//Color tmpColor;
//tmpColor.SetFromCOLORREF(FillColor);
//ARGB argb = Color::MakeARGB(m_byTrans, tmpColor.GetR(),tmpColor.GetG(),tmpColor.GetB());
//HatchBrush hBrush((HatchStyle)FillMode, Color(argb),Color(argb));
//graphics.FillPolygon(&hBrush,points,num);
/////////////////////////////////////////////////////////////////////////////////////

vc笔记六的更多相关文章

  1. 《MFC游戏开发》笔记六 图像双缓冲技术:实现一个流畅的动画

    本系列文章由七十一雾央编写,转载请注明出处.  http://blog.csdn.net/u011371356/article/details/9334121 作者:七十一雾央 新浪微博:http:/ ...

  2. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

    java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...

  3. Learning ROS for Robotics Programming Second Edition学习笔记(六) indigo xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  4. Python学习笔记六

    Python课堂笔记六 常用模块已经可以在单位实际项目中使用,可以实现运维自动化.无需手工备份文件,数据库,拷贝,压缩. 常用模块 time模块 time.time time.localtime ti ...

  5. Typescript 学习笔记六:接口

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  6. Django开发笔记六

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.登录功能完善 登录成功应该是重定向到首页,而不是转发 ...

  7. python3.4学习笔记(六) 常用快捷键使用技巧,持续更新

    python3.4学习笔记(六) 常用快捷键使用技巧,持续更新 安装IDLE后鼠标右键点击*.py 文件,可以看到Edit with IDLE 选择这个可以直接打开编辑器.IDLE默认不能显示行号,使 ...

  8. Go语言学习笔记六: 循环语句

    Go语言学习笔记六: 循环语句 今天学了一个格式化代码的命令:gofmt -w chapter6.go for循环 for循环有3种形式: for init; condition; increment ...

  9. 【opencv学习笔记六】图像的ROI区域选择与复制

    图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...

随机推荐

  1. C++界面库

    刚开始用C++做界面的时候,根本不知道怎么用简陋的MFC控件做出比较美观的界面,后来就开始逐渐接触到BCG  Xtreme ToolkitPro v15.0.1,Skin++,等界面库,以及一些网友自 ...

  2. 只启动一个zookeeper配置 server1只需要配置一个

    [root@wx03 conf]# cat zoo.cfg # The number of milliseconds of each tick tickTime=2000 # The number o ...

  3. 动态网页爬取例子(WebCollector+selenium+phantomjs)

    目标:动态网页爬取 说明:这里的动态网页指几种可能:1)需要用户交互,如常见的登录操作:2)网页通过JS / AJAX动态生成,如一个html里有<div id="test" ...

  4. splinter python浏览器自动化操作,模拟浏览器的行为

    Splinter可以非常棒的模拟浏览器的行为,Splinter提供了丰富的API,可以获取页面的信息判断当前的行为所产生的结果   最近在研究网站自动登录的问题,涉及到需要实现浏览器自动化操作,网上有 ...

  5. VS2008 Project : error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行生成后事件..."解决方案

    右键工程属性 -> 配置属性 -> 生成事件 ->生成后事件,命令行中的路径加上双引号,如 copy $(ProjectDir)\export\win32\Debug\$(Proje ...

  6. STL--G - For Fans of Statistics(两个推断条件-二分)

    G - For Fans of Statistics Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & ...

  7. jquery $.post

    jQuery.post() jQuery.post( url [, data ] [, success ] [, dataType ] )Returns:jqXHR Description: Load ...

  8. PHP - 防止非法调用页面

    这是在服务器内部: 首先定义一个常量 在调用页面的时候,检测是否存在此常量 如果存在,则调用 否则,做出提示. 创建常量: 创建常量的函数名称: define //创建一个常量,以便于页面调用,从主页 ...

  9. Python学习笔记 — 函数

    函数是对程序逻辑进行结构化或过程化的一种编程方法.函数具有两个方面的意义:1)将代码分块,易于管理和阅读:2)最大化代码复用和最小化代码冗余,节省空间,有助于保持一致性. 1. 函数定义 Python ...

  10. <Win32_12>程序员求爱的创意程序——升级版^_^

    前段时间,我编写了一个创意程序,并用于向自己目前的女朋友表白,结果效果还不错,得到了她的芳心. 于是我将自己的创意程序共享到csdn资源上,大多数网友认为创意不错,就是简单了些——呵呵,其实我个人也这 ...