zoukankan      html  css  js  c++  java
  • Visual C++ 201148

    一.DDX_Control && UpdateData

    将控件Id和实例关联起来,方便直接取得对象,与GetDlgItem函数取对象相同

    void CDemoDlg::DoDataExchange(CDataExchange* pDX)
    {
        CDialog::DoDataExchange(pDX);
        //{{AFX_DATA_MAP(CDemoDlg)
        
        DDX_Control(pDX, IDC_LIST, m_ctrlList);
        CWnd *dlg=this->GetDlgItem(IDC_LIST);
        //}}AFX_DATA_MAP
    }
    

    除了DDX_Control之外,还有其他DDX_xxx的函数,比如绑定到CheckBox和BOOL变量,调用UpdateData方法则会更新数据

    二.MAKEINTRESOURCE

    资源名转换的宏,即将数字转换为字符串

    参考:http://baike.baidu.com/view/2899077.htm

    三.ExpandEnvironmentStrings

    获取操作系统环境变量

    #include <windows.h>
    #include <stdio.h>
    void main(void)
    {
        putenv("Program Files=c:\\Program   Files");
        putenv("MyPath=Outlook Express");
        
        //char *var1="%Program Files%\\%MyPath%\\msimn.exe";
        char *var1 = "%SystemDrive%";
        char buf1[1024];
        
        ExpandEnvironmentStrings(var1,buf1,sizeof(buf1));
        MessageBoxA(NULL, buf1, "ExpandStrings1: SystemDrive", MB_OK);
        
        //char *var2="%temp%\\adsdasd";
        char *var2 = "%WinDir%";
        char buf2[1024];
        
        ExpandEnvironmentStrings(var2,buf2,sizeof(buf2));
        MessageBoxA(NULL, buf2, "ExpandStrings2: WinDir", MB_OK);
    }
    

    四.CImageList

    Provides the functionality of the Windows common image list control.

    即为MFC控件提供一个图片的列表.
    比如给CComboBoxEx和CListCtrl等控件使用,调用相关控件的SetImageList方法

     CImageList *m_pImageListSmall = new CImageList();
        m_pImageListSmall->Create(16, 16, TRUE, 4, 4);
        m_pImageList->Add(pApp->LoadIcon(IDI_ICONLIST1));
        m_pImageList->Add(pApp->LoadIcon(IDI_ICONLIST2));
        m_pImageList->Add(pApp->LoadIcon(IDI_ICONLIST3));
        m_pImageList->Add(pApp->LoadIcon(IDI_ICONLIST4));
    CComboBoxEx *m_wndCBEx= (CComboBoxEx*)this->GetDlgItem(IDC_COMBOBOXEX1);
     m_wndCBEx->SetImageList (m_pImageListSmall);
    for (int i=0; i<5; i++) {
        CString string;
        string.Format (_T ("Item %d"), i);
        COMBOBOXEXITEM cbei;
        cbei.mask = CBEIF_IMAGE| CBEIF_SELECTEDIMAGE | CBEIF_TEXT;
        cbei.iItem = i;
        cbei.pszText = (LPTSTR) (LPCTSTR) string;
        cbei.iImage = 1;
        cbei.iSelectedImage = 1;
        cbei.iIndent = (i & 0x03); 
        m_wndCBEx->InsertItem (&cbei);
    }
    

    五.GetStockObject

    取得一个固有对象(即操作系统预定的对象,无法删除),不要用DeleteObject去删除GetStockObject取出的对象

    六.CPropertySheet && CPropertyPage

    属性Tab选项卡,CPropertyPage继承自CDialog,所以也是对话框

    class CFirstPage : public CPropertyPage
    {
    public:
        CFirstPage () : CPropertyPage (IDD_FIRSTPAGE) {};
        // Declare CFirstPage's data members here.
    protected:
        virtual void DoDataExchange (CDataExchange*);
    };
    class CSecondPage : public CPropertyPage
    {
    public:
        CSecondPage () : CPropertyPage (IDD_SECONDPAGE) {};
        // Declare CSecondPage's data members here.
    protected:
        virtual void DoDataExchange (CDataExchange*);
    };
    class CMyPropertySheet : public CPropertySheet
    {
    public:
        CFirstPage m_firstPage;         // First page
        CSecondPage m_secondPage;       // Second page
        // Constructor adds the pages automatically.
        CMyPropertySheet (LPCTSTR pszCaption, 
            CWnd* pParentWnd = NULL) :
            CPropertySheet (pszCaption, pParentWnd, 0)
        {
            AddPage (&m_firstPage);
            AddPage (&m_secondPage);
        }
    };
    
    

    先有个概念了解下
    参考:Visual Studio的PropDlg例子
    http://www.vckbase.com/document/viewdoc/?id=398
    http://www.vckbase.com/document/viewdoc/?id=330
    http://blog.csdn.net/lixiaosan/archive/2006/04/13/661458.aspx

    七.SetIcon两次的疑惑

    http://zhidao.baidu.com/question/176982744.html

  • 相关阅读:
    CF1051F The Shortest Statement 题解
    CF819B Mister B and PR Shifts 题解
    HDU3686 Traffic Real Time Query System 题解
    HDU 5969 最大的位或 题解
    P3295 萌萌哒 题解
    BZOJ1854 连续攻击游戏 题解
    使用Python编写的对拍程序
    CF796C Bank Hacking 题解
    BZOJ2200 道路与航线 题解
    USACO07NOV Cow Relays G 题解
  • 原文地址:https://www.cnblogs.com/Clingingboy/p/2012054.html
Copyright © 2011-2022 走看看