btcq.net
当前位置:首页 >> VC++关于MFC中消息映射的例子用ON_WM_LBUTTONDOWN... >>

VC++关于MFC中消息映射的例子用ON_WM_LBUTTONDOWN...

hello.h中的 afx_msg void OnLButtonDown();需要改为 afx_msg void OnLButtonDown(UINT nFlags, CPoint point);这样函数的声明和实现都一致方可通过编译. 另外,cpp文件中的 this->都可以省略掉,1可以节省敲代码的时间,2是可以

都是命令映射on_command(id号,函数)这个一般是你自己定义的菜单项的消息映射on_wm_*则是标准的windows消息映射

BEGIN_MESSAGE_MAP和END_MESSAGE_MAP这两个宏表示这个类的消息映射开始和结束,中间的宏定义定义了此类的所有的消息映射.前面的afx_msg void OnPaint();只是声明OnPaint()函数是一个消息处理函数,然后是OnPaint

消息是个名词,事件表示个动作,“收到消息”就发生了个事件.1:windows OS事件驱动策略基于3种消息.标准消息、通告消息、命令消息.2:“事件”就是“消息”,事件是有形形象的,是站在人类能理解的角度来定义的.消息是无形抽象

2005及以上版本的话,在Dlg类上点右键,属性,看跳出的窗口,在上面的一排工具栏图标中点第4个“事件”,然后里面有各种消息,选择你要的消息,添加即可.关于无标题栏窗口的移动的代码,确实如楼主所述的方法,一般我也是这么做的,但是如果是在按钮上点击,至少用Windows标准按钮控件是不行的,因为消息队列中的LButtonDown先被按钮拾取了,窗口收不到这条消息,从Windows消息机制里可以了解到.我试了一下,用图片自绘的任意控件都是可以用上述方法实现的,楼主可以使用自绘的图片按钮.如果要点住这个按钮才让窗口移动,其它按钮不发生这种操作,可以用RECT来判断呀,很方便.

坐标值应该是lParam,使用MAKEWPARAM合成,代码如下:int x=100,y=100;LPARAM lParam = MAKEWPARAM(x,y);::PostMessage(1234, WM_LBUTTONDOWN, 1, lParam);但这样1234窗口只响应OnLButtonDown事件,而不会响应 点击确认按钮的事件,我理解与你的要求不符合.正确的做法如下:找到1234确认按钮对应的按钮ID,很多为1,假设为IDC_OKBT,然后发送消息::PostMessage(1234,WM_COMMAND,MAKEWPARAM(IDC_OKBT,BN_CLICKED),0);

LBUTTONDOWN这样的消息哪个窗口产生就由哪个负责,view属于framewnd子窗口,一般覆盖在framewnd客户区,那么点击该区时windows会判定该消息属于view.又比如点击工具条则属于工具条窗口.而对于WM_COMMAND消息MFC会实行绕行机制,先在view中寻找处理函数,找不到再往Document,Frame,然后再往winapp

CEdit::SetSel 和CEdit::GetSel 这两个函数你可以看看,可以实现

createfile(_T("com1"));writefile();closehandle();

程序没有错误. 应该是没有使用mfc类库的问题. 是不是提示3个错误? 点击菜单(project)工程-〉setting设置,弹出一个对话框,在general中的microsoft foundation classes: 有一个下拉列表框,里面是not using mfc,我们把其改为using mfc in a static library, 点击确定,再编译运行

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.btcq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com