• Dialog和FormView如何派生通用类


    派生通用类涉及到派生类的构造函数需要传递窗口ID和CWnd,所以要在派生类中事先定义好

    在Dialog中构造函数是这样定义的

    public:
        CDialogEx();
        CDialogEx(UINT nIDTemplate, CWnd *pParent = NULL);
        CDialogEx(LPCTSTR lpszTemplateName, CWnd *pParentWnd = NULL);

    所以在派生

    Dialog类时要这样构造
    class CThemeDialogForFixShootSearch : public CDialogEx
    {
        DECLARE_DYNAMIC(CThemeDialogForFixShootSearch)
    
    public:
        CThemeDialogForFixShootSearch(UINT nIDTemplate, CWnd* pParent = NULL);   // standard constructor
        virtual ~CThemeDialogForFixShootSearch();
    }
    #include "stdafx.h"
    #include "ThemeDialogForFixShootSearch.h"
    
    
    
    // CThemeDialogForFixShootSearch dialog
    
    IMPLEMENT_DYNAMIC(CThemeDialogForFixShootSearch, CDialogEx)
    
    CThemeDialogForFixShootSearch::CThemeDialogForFixShootSearch(UINT nIDTemplate, CWnd* pParent /*=NULL*/)
        : CDialogEx(nIDTemplate, pParent)
    {
       
    }
    
    CThemeDialogForFixShootSearch::~CThemeDialogForFixShootSearch()
    {
    }
    
    void CThemeDialogForFixShootSearch::DoDataExchange(CDataExchange* pDX)
    {
        CDialogEx::DoDataExchange(pDX);
    }
    
    
    BEGIN_MESSAGE_MAP(CThemeDialogForFixShootSearch, CDialogEx)
    END_MESSAGE_MAP()
    同样FormView的构造函数为
    protected:      // must derive your own class
        CFormView(LPCTSTR lpszTemplateName);
        CFormView(UINT nIDTemplate);

    因为FormView没有默认构造,所以必须带参数

    #pragma once
    #include "afxext.h"
    
    class CBackgroundColor :public CFormView
    {
        DECLARE_DYNAMIC(CBackgroundColor)
    public:
        CBackgroundColor(UINT nIDTemplate);
        virtual ~CBackgroundColor();
        DECLARE_MESSAGE_MAP()
        afx_msg void OnPaint();
    };
    #include "stdafx.h"
    #include "BackgroundColor.h"
    #include <afxtempl.h>
    IMPLEMENT_DYNAMIC(CBackgroundColor, CFormView)
    CBackgroundColor::CBackgroundColor (UINT nIDTemplate)
    : CFormView(nIDTemplate)
    {
    }
    
    
    CBackgroundColor::~CBackgroundColor()
    {
    }
    BEGIN_MESSAGE_MAP(CBackgroundColor, CFormView)
        ON_WM_PAINT()
    END_MESSAGE_MAP()
     
  • 相关阅读:
    emacs 编程入门 函数
    boost库介绍
    jquery css attr
    html 相对定位 绝对 定位 css + div
    我常用的grep
    我常用的tar
    C#皮肤的用法(皮肤资源+使用实例下载)
    C#资源文件操作示例 创建资源和读取资源
    黄聪:c#中高效的excel导入sqlserver的方法
    黄聪:Delphi 中的 XMLDocument 类详解(2) 记要
  • 原文地址:https://www.cnblogs.com/ye-ming/p/8880089.html
Copyright © 2020-2023  润新知