1. c++中的函数前面加个LRESULT是什么意思啊?
在微软vc提供的头文件中有定义
在winnt.h中typedef long LONG;
在windef.h中typedef LONG LRESULT;
所以LRESULT就是long,也就是长整形
之所以取名类LRESULT,L=>long
result表示结果,说明这个函数的返回值是某个结果
仅此而已。

2.

MFC中DoDataExchange()的作用
void CDlgSelectCS::DoDataExchange(CDataExchange* pDX)
{
? ?
CDialog::DoDataExchange(pDX);
?
? DDX_Text(pDX, IDC_EDIT_SCR, m_ScrCS_Name);
? ?
DDX_Text(pDX, IDC_EDIT_DEST, m_DestCS_Name);

}

3.

函数mycmp(char *s,char *t)的功能是比较字符串s和t的大小
当s等于t时返回0,当s>t时返回正值,当s<t时返回负值

enum { IDD = IDD_ABOUTBOX }
枚举对话框的资源id

CAboutDlg::DoDataExchange(CDataExchange* pDX)
绑定变量名和控件名字

AfxGetApp()
得到整个程序的指针并加载icon

easysize:保持控件大小随对话框大小改变。

4. easysize使用方法

1.首先将EasySize.h拷贝到工程文件夹中,然后在stdafx.h中包含该头文件:
#include "EasySize.h"
2.在对话框类声明中添加DECLARE_EASYSIZE宏:
class CEasySizeDemoDlg : public CDialog
{
DECLARE_EASYSIZE
...
3.在OnInitDialog()函数中添加INIT_EASYSIZE宏(注意有分号):
BOOL CEasySizeDemoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
...
INIT_EASYSIZE;
return TRUE; // return TRUE unless you set the focus to a control
}
4.响应WM_SIZE消息,在响应函数中添加UPDATE_EASYSIZE宏(注意有分号):
void CEasySizeDemoDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
UPDATE_EASYSIZE;
}
5.如果需要限制对话框有一个最小尺寸,首先在资源视图中为对话框添加上最大化最小化按钮,然后Class Wizard中选择Class Info标签,在Message fileter下拉列表中选择Window,然后再点击Message Maps标签,就出现WM_SIZING消息了,添加该消息的响应函数:
void CEasySizeDemoDlg::OnSizing(UINT fwSide, LPRECT pRect)
{
CDialog::OnSizing(fwSide, pRect);
EASYSIZE_MINSIZE(280,250,fwSide,pRect);
}
这样就把对话框的最小尺寸限制在(280, 250)上了
6.添加控件布局映射,放到消息映射之后,基本格式如下:
BEGIN_EASYSIZE_MAP(class_name)
...
EASYSIZE(control,left,top,right,bottom,options)
...
END_EASYSIZE_MAP
class_name就是对话框类的类名
control是要设置的控件的ID
left、top、right、bottom分别指的是该控件左、上、右、下方的控件的ID,也可以为以下特殊值:
ES_BORDER:保持与边框距离不变
ES_KEEPSIZE:保持大小不变
所放位置:
left -- 表示和right指定的控件右对齐
right -- 表示和left指定的控件左对齐
top -- 表示和bottom指定的控件上对齐
bottom -- 表示和top指定的控件下对齐
options可指定为0,也可指定为以下值:
ES_HCENTER:保持宽度不变,水平位置在left和right指定的控件正中间
ES_VCENTER:保持高度不变,垂直位置在left和right指定的控件正中间

MFC常见问题总结的更多相关文章

  1. MFC常见问题解惑

    MFC类的分类 1 Root: CObject : CObject2 Application Architecture Classes: CWinApp/CFrameWnd/... 3 Window, ...

  2. MFC常见问题以及解决方法(2)_Cstring和string互相转换

    MFC默认编码是unicode(自己改成多字符集是不行的),对话框中对字符串的处理都是宽字符,而且添加变量会默认是CString类型,当你代码中想用string但又遇到必须转为CString的情况,就 ...

  3. MFC常见问题以及解决方法(1)_MFC下文本编辑框按下回车后窗口退出

    这里主要介绍遇到这种方法的解决方案,解决方法可能有多种,但这里只给出有效的一种,这里不会详细说明出现问题的原因以及为什么这样解决,想了解更多可以百度,写这个主要是防止以后忘记,做个简单的笔记. 问题: ...

  4. MFC 常见问题

    一 常见变量获得 CDC * cDc=GetDC(); HDC m_Screenhdc = this->GetDC()->m_hDC; //  整个窗口客户区的坐标 this->Ge ...

  5. VC++学习之VC中常见问题

    VC++学习之VC中常见问题 (1)为什么某个类突然在工作区间里面突然看不见了? 只是类隐藏了,打开FILEVIEW,找到隐藏类的头文件,随便敲一下键盘的空格键,类就会在CLASSVIEW中显示了 ( ...

  6. MFC控件CTabCtrl关联变量

    1.先建立一个对话框MFC应用程序,然后在工具箱里面把Tab Control控件放到对话框中的合适位置上. 再在对话框类中,将该控件绑定一个变量 用两种方法: 1 ) 自己定义成员变量 CTabCtr ...

  7. 【MFC】MFC绘图不闪烁——双缓冲技术

    MFC绘图不闪烁——双缓冲技术[转] 2010-04-30 09:33:33|  分类: VC|举报|字号 订阅 [转自:http://blog.163.com/yuanlong_zheng@126/ ...

  8. 非MFC工程中使用MFC库

    目录(?)[-] 需求说明 常见问题 问题分析 参考解决方法 我的解决方案 Stdafxh的原理   需求说明 C++工程的类型有很多,从VS(或VC)可以看到常见的有:Win32 Console A ...

  9. MFC中的双缓冲技术(解决绘图闪烁问题)

    转自 MFC绘图不闪烁——双缓冲技术[转] 在VC/MFC用CDC绘图时,频繁的刷新,屏幕会出现闪烁的现象,CPU时间占用率相当高,绘图效率极低,很容易出现程序崩溃. 所谓双缓冲技术,下面是百度百科的 ...

随机推荐

  1. Golang学习---test写法和benchmark写法

    一.Test 1. 每一个test文件须import一个testing 2. test文件下的每一个test case 均必须用Test开头并且符合TestXxxx形式,否则go test会直接跳过测 ...

  2. 20175314薛勐 Arrays和String单元测试

    Arrays和String单元测试(课下作业,选做) 要求 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 CharAt Spl ...

  3. SQL 数据库高CPU占用语句排查

    前述 最近一个项目CPU占用非常高,在IIS内设置CPU限制后系统频繁掉线,通过任务管理器发现SQLSever数据库占用CPU达到40%--70%,对于数据库本人也就处在增删查改几个操作水平层面,这次 ...

  4. Centos7下面配置客户端OpenVPN

    安装 openvpn yum install -y openvpn vim 配置默认的 daemon 文件 vim /usr/lib/systemd/system/openvpn@.service [ ...

  5. C#多线程--信号量(Semaphore)[z]

    百度百科:Semaphore,是负责协调各个线程, 以保证它们能够正确.合理的使用公共资源.也是操作系统中用于控制进程同步互斥的量. Semaphore常用的方法有两个WaitOne()和Releas ...

  6. 将Windows系统移到另一个硬盘

    原先的128GB SSD,给Windows用是够了,最近虚拟机用得多,靠以前的SSD外挂着用,实在有点不爽,就入手一个256GB的,重装系统是个令人头疼的事情,当然不能干.想起来以前另一个机器操作的时 ...

  7. 4.7做作业时发现,内联元素设置宽高背景以后正常不显示,但是设置了position:absolute;以后就可以显示了。起到了和display:block;一样的效果。然后查了一下知道了。

    如果内联元素定位属性设置为:absolate,元素脱离文档,即使a元素中没有内容,设置的背景依然会显示!

  8. 周一要做的事情Sd31y5YE

    问实习生活动是否有费用 调查结果更新,提醒各个pm 修改模板,把我们追加的东西体现在模板里

  9. Unity3D-RayMarch-几何图元1-添加基本着色模型

    效果图: 使用phong着色模型,将环境光.物体的漫反射光.镜面光三种光效加合而得到上图的效果 raymarch 的shader代码: // Upgrade NOTE: replaced '_Obje ...

  10. 设计模式学习心得<装饰器模式 Decorator>

    装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构.这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装. 这种模式创建了一个装饰类,用来包装 ...