子窗口如何加载按钮背景图~~~~~~~~~~~~~~~~~~~

god_sun 2011-05-25 04:52:03
父窗口加载成功

//按钮背景
for (int i = 0; i < 4; i++)
{
m_hBitmap[i] = LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BMP1 + i));
PButton = (CButton*)GetDlgItem(IDC_BASE + i);
PButton->SetBitmap(m_hBitmap[i]);
}

父窗口创建一个tab

//m_bsTab 为tab类对象
m_bsTab.Create(TCS_TABS, rc, this->GetActiveWindow(), IDC_TAB_BASE);

//m_bsTab第一个选项卡关联一个子对话框
//m_usrMgt 子对话框类对象
m_usrMgt.Create(IDD_USER_INFO, this);
m_usrMgt.MoveWindow(rt);
m_usrMgt.ShowWindow(SW_SHOW);


现在子对话框中有按钮,但是加载不了背景了

BOOL CUserMgt::OnInitDialog()
{
CDialog::OnInitDialog();

m_userList.SetExtendedStyle (LVS_EX_FULLROWSELECT);
// TODO: 在此添加额外的初始化
HBITMAP m_hBitmap = LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_USER_NEW));
PButton = (CButton*)GetDlgItem(IDC_BTN_USERADD);
HBITMAP i = PButton->SetBitmap(m_hBitmap);
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
...全文
110 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
东莞某某某 2011-05-25
  • 打赏
  • 举报
回复
MSDN示例代码:
CButton myButton;

// Create a bitmap button.
myButton.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_BITMAP,
CRect(10,10,60,50), pParentWnd, 1);

// Set the bitmap of the button to be the system check mark bitmap.
myButton.SetBitmap( ::LoadBitmap(NULL, MAKEINTRESOURCE(OBM_CHECK)) );



注意按钮的风格是否正确。改变窗口风格方法很多。
「已注销」 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 god_sun 的回复:]
引用 1 楼 visualeleven 的回复:

PButton->SetBitmap(...);之前加上这句:
PButton->ModifyStyle(0, BS_BITMAP);


可以了,能解释下为何要加这句吗?
[/Quote]

添加 ButtonStyle_Bitmap

按钮添加位图
god_sun 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 visualeleven 的回复:]

PButton->SetBitmap(...);之前加上这句:
PButton->ModifyStyle(0, BS_BITMAP);
[/Quote]

可以了,能解释下为何要加这句吗?
Eleven 2011-05-25
  • 打赏
  • 举报
回复
PButton->SetBitmap(...);之前加上这句:
PButton->ModifyStyle(0, BS_BITMAP);

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧