mfc中动态创建按钮
发布日期:2021-07-01 04:31:17 浏览次数:2 分类:技术文章

本文共 984 字,大约阅读时间需要 3 分钟。

第一步:

在Resource.h中,添加按钮ID:ID_BTN_TEMP = 1001

第二步:

在View类【CView的子类】中添加一个变量,判断按钮是否已经创建:

bool m_bIsCreatButton;


第三步:

创建一个按钮数组:

CBitmapButton *m_bitList[11]



第四步:

在View类【CView的子类】的构造函数中,初始化bIsCreatButton:

m_bIsCreatButton = false;


第五步:

在View类【CView的子类】中添加函数创建按钮:

CBitmapButton* CHisNavView::CreateButton(int nID, char* text,int left, int top, int right, int bottom)

{

 CRect rect;

 GetClientRect(rect);

 CBitmapButton *pButton = new CBitmapButton();

 ASSERT_VALID(pButton); pButton->Create(TEXT(text), 

  WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 

  CRect(left, top, right, bottom), 

  this, nID); 

 return pButton;

}


其中,nID为按钮ID,text为按钮文本。 其他为按钮显示范围。


第六步:

在View类【CView的子类】的OnDraw方法中创建按钮:

m_bitList[0] = CreateButton(ID_BTN_TEMP, "天志的按钮", 50, 50, 150, 80); 


第六步:

在View类【CView的子类】中声明函数:

afx_msg void OnTest()


第七步:

在View类【CView的子类】的BEGIN_MESSAGE_MAP(CHisNavView, CView)添加:

ON_BN_CLICKED(ID_BTN_TEMP, CHisNavView::OnTest)


第八步:实现OnTest()函数

void CHisNavView::OnTest()

{

   MessageBox(TEXT("天志自己写着玩!"), NULL, MB_OK);

}

转载地址:https://my-github.blog.csdn.net/article/details/51619003 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:PE和任务管理器
下一篇:MFC动态创建按钮及添加消息响应

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月09日 13时05分25秒