set bitmap to static control

本文介绍了一种在C++中为对话框静态控件设置背景图片的方法。通过使用MFC库,作者展示了如何加载位图资源并将其应用于对话框中的静态控件上,实现了美观的界面效果。

找了几句代码, 向dialog上的static控件设置图片资源.

实验

// Dialog Data
    //{{AFX_DATA(CRE_VikingKillerDlg)
    enum { IDD = IDD_RE_VIKINGKILLER_DIALOG };
    CStatic m_CtrlBg;
    //}}AFX_DATA

    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CRE_VikingKillerDlg)
    protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
    //}}AFX_VIRTUAL
void CRE_VikingKillerDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    //{{AFX_DATA_MAP(CRE_VikingKillerDlg)
    DDX_Control(pDX, ID_BG, m_CtrlBg);
    //}}AFX_DATA_MAP
}
BOOL CRE_VikingKillerDlg::OnInitDialog()
{
    HBITMAP hBitmap;

    CDialog::OnInitDialog();
    // Add "About..." menu item to system menu.
    // IDM_ABOUTBOX must be in the system command range.
    ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    ASSERT(IDM_ABOUTBOX < 0xF000);
    CMenu* pSysMenu = GetSystemMenu(FALSE);

    if (pSysMenu != NULL) {
        CString strAboutMenu;
        strAboutMenu.LoadString(IDS_ABOUTBOX);

        if (!strAboutMenu.IsEmpty()) {
            pSysMenu->AppendMenu(MF_SEPARATOR);
            pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
        }
    }

    // Set the icon for this dialog.  The framework does this automatically
    //  when the application's main window is not a dialog
    SetIcon(m_hIcon, TRUE);         // Set big icon
    SetIcon(m_hIcon, FALSE);        // Set small icon

    hBitmap = LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP_BG));
    m_CtrlBg.ModifyStyle(0, SS_BITMAP); // ! must call before SetBitmap
    m_CtrlBg.SetBitmap(hBitmap);

    return TRUE;  // return TRUE  unless you set the focus to a control
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值