mfc的总结

1.项目创建
当用 win32 创建项目时。想用 mfc 的方式。只要改一个地方。
mfc的总结
mfc的总结
2.更改入口函数(前提是你自己会处理执行在main 函数之前的那些函数)
mfc的总结
mfc的总结
3.创建 mfc 时一般是基于对话框
mfc的总结
4.默认的生成宏说明。

 //这里是生成的类型对应的是IDD_MFCAPPLICATION1_DIALOG资源 id
CMFCApplication1Dlg::CMFCApplication1Dlg(CWnd* pParent /*=NULL*/)
    : CDialogEx(IDD_MFCAPPLICATION1_DIALOG, pParent)
{
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

//这个宏表示绑定资源
void CMFCApplication1Dlg::DoDataExchange(CDataExchange* pDX)
{
    CDialogEx::DoDataExchange(pDX);
}

//这些宏对应事件 相应事件在这个绑定
BEGIN_MESSAGE_MAP(CMFCApplication1Dlg, CDialogEx)
    ON_WM_SYSCOMMAND()
    ON_WM_PAINT()
    ON_WM_QUERYDRAGICON()
END_MESSAGE_MAP()

//对话框初始化函数在一般在这里做相应的初始化
BOOL CMFCApplication1Dlg::OnInitDialog()
{
    CDialogEx::OnInitDialog();

    // 将“关于...”菜单项添加到系统菜单中。

    // IDM_ABOUTBOX 必须在系统命令范围内。
    ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    ASSERT(IDM_ABOUTBOX < 0xF000);

    CMenu* pSysMenu = GetSystemMenu(FALSE);
    if (pSysMenu != NULL)
    {
        BOOL bNameValid;
        CString strAboutMenu;
        bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
        ASSERT(bNameValid);
        if (!strAboutMenu.IsEmpty())
        {
            pSysMenu->AppendMenu(MF_SEPARATOR);
            pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
        }
    }

    // 设置此对话框的图标。  当应用程序主窗口不是对话框时,框架将自动
    //  执行此操作
    SetIcon(m_hIcon, TRUE);         // 设置大图标
    SetIcon(m_hIcon, FALSE);        // 设置小图标

    // TODO: 在此添加额外的初始化代码

    return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}

5.工具箱
mfc的总结
6.查看代码
mfc的总结
7.资源视图(查看资源 id 等)
mfc的总结
8.视图
mfc的总结
9.控件的使用
mfc的总结
10.控件的属性
mfc的总结
11.控件的响应事件
mfc的总结
12.添加到父窗口这里要注意的是目前还没有绑定控件只是添加的事件点击没用
mfc的总结
只绑定了事件(如果只想要事件这就可以了)
mfc的总结

13.绑定控件
mfc的总结
钩控件变量 id 要选对
mfc的总结
这里就是真的绑定了同时把控件自动给你初始化(这里可以理解成控件初始化)

mfc的总结

 void CMFCApplication1Dlg::DoDataExchange(CDataExchange* pDX)
{
    CDialogEx::DoDataExchange(pDX);
    DDX_Control(pDX, IDC_BUTTON1, mybtn);
}

mfc的总结
如果要想把控件也生成类也可以 这里右击控件不要用添加类因为继承类不完整
mfc的总结
用类向导 不要搞错了是 mfc 类
mfc的总结
选择基类 点击一
mfc的总结
生成类
mfc的总结
这里就有个坑 由于你的父窗口已经添加把这个控件添加成变量了。同时你现在又把控件生成类所以要手动改下

 包含头文件 
 改变量名

这里一定要记得是哪个控件生成类因为 mfc 很乱不添加完后不知道是哪个控件添加了类 一般命名来区分 这里就可以自己添加控件的其它方法了
mfc的总结
有的控件就不能这样添加只能代码写
mfc的总结
像这些就只能自己加了
mfc的总结

https://blog.51cto.com/haidragon/2087840
1. 新建
2. 在想要添加这个控件的类里包含对应的控件头文件
3. 声名一个变量
4. 父窗口在初始化函数初始化控件
用 create(this)等
5.同时要加上对应的显示函数 如:toolbar
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);

文件框有俩种类型 值与控件
mfc的总结
控件的使用记住:
1.显示不是自己想要的 查看属性改相应的属性
2.不同控件在 mfc 中有固定用法 像radio 就比较low
3.不同控件初始化不同像toolbar 最后还要来一句神一样的操作
4.查看 id 有没有 mfc 非常蛋疼的一个地方是有时没帮你添加id 在资源文件里也没有。
5.查看 id 是不是重复 这不得不说 mfc 神一样的操作。
6.查看 id 是不是默认生成的 id 有可能这个 id 被用了 像图片 id mfc 项目已经有那个 id。但是 mfc 还是默认生成那个 id。
7.检查俩种重要宏
8.不要出现在控件的构造函数里调控件。因为都没有初始化 this 是 null 像 this->...会出错。
9.没有调用控件里自己实现的函数。有可能是控件生成类时没有在父窗口中改过来。而是用的默认的。
10.静态编译 选择静态mfc库 选择c/c++ 代码生成 多线程 mt方式
11.无法添加控件变量时:
https://blog.csdn.net/haohaojian/article/details/78919197

转载于:https://blog.51cto.com/haidragon/2088960

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值