在mfc中动态创建按钮
第一步:
在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);
}
在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);
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步