zoukankan      html  css  js  c++  java
  • 学习vc++的第九天--预编译头的处理方式+MFC学习

    预编译头的处理方式:

    添加到最上面 #include "stdafx.h" 

    或者:

    对着.cpp右键--属性--预编译头=不使用预编译头 (但是爆了链接错误...vc驿站没搞了???!!!!)

     

    mfc工程建立 

     

     如果编译有错,替换CDialogEx为CDialog..

    自绘控件 Owner Draw= true

    https://www.bilibili.com/video/av79302998?p=70

    https://www.codeproject.com/   资源网站

    这里现在学没有什么意义.......我看完就忘记了................

    MFC操纵控件有几种方法....

    写一个一按按钮就禁用它自己的功能来展示,双击一个button,

    在 void CMFCApplication1Dlg::OnBnClickedBtnLogin() 函数内:

    WinApi法,全局函数调用.(最复杂)

        HWND hLoginBtn = ::GetDlgItem( //全局函数,得到目标控件的窗口句柄
            GetSafeHwnd(),  //哪一个对话框
            IDC_BTN_LOGIN); //控件的ID
        if (hLoginBtn)
        {
            ::EnableWindow(hLoginBtn, FALSE);//禁用控件
        }
    View Code

    获取指针法(同时掌握)

        CWnd* pLoginBtn = GetDlgItem(IDC_BTN_LOGIN);
        if (pLoginBtn)
        {
            //::EnableWindow(pLoginBtn->GetSafeHwnd(), FALSE); //全局禁用
            pLoginBtn->EnableWindow(FALSE); //继承的操作
            //EnableWindow(FALSE); //不可以这样,因为这样是禁用了整个对话框
        }
    View Code

    控制变量法(最简单) 参考下图

        //为了拿到控件的id,所以要用控件变量->添加控制变量,就不再需要频繁像上面一样获取句柄指针了
        m_LoginBtn.EnableWindow(false);
    View Code

      

     

    这样就大概了解控件的操作方式,尽可能往最简单的学就好了......太复杂就不叫面向对象了......

    其他控件操作可能我要消化一段时间.....

  • 相关阅读:
    工作流程在线编辑
    利用IIS导出,导入快速部署 web站点
    调用CRM自己的Dialogue
    简单粗爆的解决同时布CRM引起的死锁问题
    CRM 2013 自动发送报表
    CRM 2013 中业务流程的
    调试CRM JS开发
    CRM ribbon按钮上引用JS库
    CRM Look Up 解决方案
    Windows Azure 上传 VM
  • 原文地址:https://www.cnblogs.com/JJBox/p/12548625.html
Copyright © 2011-2022 走看看