当前位置:网站首页>New wizard effect used by BCG

New wizard effect used by BCG

2022-07-04 19:42:00 Spring buds and summer lotus_ seven hundred and twenty-eight mi

The effect is as follows :

  Go straight to source :

1、 Modify program entry :

 

BOOL CToolBarSampleApp::InitInstance()
{
    InitCommonControls();

    CBCGPWinApp::InitInstance();
    if (!AfxOleInit())
    {
        AfxMessageBox(IDP_OLE_INIT_FAILED);
        return FALSE;
    }

    AfxEnableControlContainer();

    CBCGControlsPropSheet propSheet;
    m_pMainWnd = &propSheet;
    propSheet.DoModal();


    return FALSE;
}

2、 Create a class BCGControlsPropSheet Used to load various pages :

(1)BCGControlsPropSheet.h

#pragma once

#include "Page1.h"

class CBCGControlsPropSheet : public CBCGPPropertySheet
{
    DECLARE_DYNAMIC(CBCGControlsPropSheet)

public:
    CBCGControlsPropSheet(CWnd* pParentWnd = NULL);
public:
    CPage1    m_Page1;
    HICON    m_hIcon;
public:
    public:
    virtual BOOL OnInitDialog();
public:
    virtual ~CBCGControlsPropSheet();
protected:
    afx_msg HCURSOR OnQueryDragIcon();
    afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
    DECLARE_MESSAGE_MAP()
};
 

(2)BCGControlsPropSheet.cpp

#include "stdafx.h"
#include "BCGControlsPropSheet.h"
#include "Resource.h"

IMPLEMENT_DYNAMIC(CBCGControlsPropSheet, CBCGPPropertySheet)

CBCGControlsPropSheet::CBCGControlsPropSheet(CWnd* pParentWnd)
    :CBCGPPropertySheet (IDS_CAPTION, pParentWnd)
{
    SetLook(CBCGPPropertySheet::PropSheetLook_Tabs, globalUtils.ScaleByDPI(100));// Here, modify the first parameter to display different effects
    SetIconsList (IDB_ICONS32, 32, RGB(255, 0, 255), TRUE);
    AddPage(&m_Page1);

    EnableVisualManagerStyle(TRUE, TRUE);
    EnableDragClientArea();
}

CBCGControlsPropSheet::~CBCGControlsPropSheet()
{
}


BEGIN_MESSAGE_MAP(CBCGControlsPropSheet, CBCGPPropertySheet)
    ON_WM_QUERYDRAGICON()
    ON_WM_SYSCOMMAND()
END_MESSAGE_MAP()

BOOL CBCGControlsPropSheet::OnInitDialog() 
{
    BOOL bResult = CBCGPPropertySheet::OnInitDialog();

    return bResult;
}

HCURSOR CBCGControlsPropSheet::OnQueryDragIcon() 
{
    return (HCURSOR) m_hIcon;
}

void CBCGControlsPropSheet::OnSysCommand(UINT nID, LPARAM lParam) 
{
    if ((nID & 0xFFF0) == IDM_ABOUTBOX)
    {
        BCGPShowAboutDlg (AFX_IDS_APP_TITLE);
    }
    else
    {
        CBCGPPropertySheet::OnSysCommand(nID, lParam);
    }
}
3、 Create each page page

(1)Page1.h

#pragma once
#include "Resource.h"

class CPage1 : public CBCGPPropertyPage
{
    DECLARE_DYNCREATE(CPage1)

public:
    CPage1();
    ~CPage1();
    enum { IDD = IDD_TOOLBARSAMPLE_DIALOG };
    
    public:

    protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

protected:
    virtual BOOL OnInitDialog();

    DECLARE_MESSAGE_MAP()

    CMenu        m_menu;
    BOOL        m_bItem4Checked;
};
 

(2)Page1.cpp

#include "stdafx.h"
#include "Page1.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

IMPLEMENT_DYNCREATE(CPage1, CBCGPPropertyPage)

CPage1::CPage1() : CBCGPPropertyPage(CPage1::IDD)
{
}

CPage1::~CPage1()
{
}

void CPage1::DoDataExchange(CDataExchange* pDX)
{
    CBCGPPropertyPage::DoDataExchange(pDX);
}


BEGIN_MESSAGE_MAP(CPage1, CBCGPPropertyPage)
END_MESSAGE_MAP()

BOOL CPage1::OnInitDialog() 
{
    CBCGPPropertyPage::OnInitDialog();


    return TRUE; 
}

原网站

版权声明
本文为[Spring buds and summer lotus_ seven hundred and twenty-eight mi]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/185/202207041806393626.html