mFC 列表框中添加按钮

yuuy163 2009-07-13 09:48:59
MFC能不能实现一个功能:在列表控件中添加一个按钮,按钮可以对该列表框中数据进行处理?大侠指教
...全文
635 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
西安跳跳通 2012-03-30
  • 打赏
  • 举报
回复
MFC 在Cedit动态写入一个按钮,为什么点击按钮没有反应,消息映射函数这些已经都挂载上去了。如果那个按钮写在列表外面,一起点击都可以实现。求解答,谢谢!!
在他乡奋斗 2009-07-13
  • 打赏
  • 举报
回复
可以.
如下是我随便写的代码:
class CMyListCtrl : public CListCtrl{
...

CButton btn;
...
afx_msg void OnInsertitem(NMHDR* pNMHDR, LRESULT* pResult);
...
}
//添加的响应事件
BEGIN_MESSAGE_MAP(CMyListCtrl, CListCtrl)
//{{AFX_MSG_MAP(CMyListCtrl)
ON_NOTIFY_REFLECT(LVN_INSERTITEM, OnInsertitem)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//响应响应事件的函数
void CMyListCtrl::OnInsertitem(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
btn.Create("按钮",WS_CHILD | WS_VISIBLE,CRect(10,20,50,20),this,1024);
*pResult = 0;
}
即成,我这只能调用一次m_list.InsertItem(0,"");因为CButton btn的定义,当btn.Create第二次调用时会出现异常。
当然你可以设置CMyListCtrl控件。如果要响应按钮事件,你只要添加相应的宏就行。
ON_BN_CLICKED(按钮id,响应函数);
响应函数的声明为:
afx_msg void 响应函数();//和其他afx_msg 声明的函数放在一起即可
rebecca_zjy 2009-07-13
  • 打赏
  • 举报
回复
你是想要每一行放一个按钮么?
类似VS里面项目属性设置的那样,点某一行的时候该行出现一个“...”按钮这样?
自绘吧,响应列表单击事件,判断点到哪一行,在该行上画一个你加好事件的按钮
Eleven 2009-07-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 yuuy163 的帖子:]
MFC能不能实现一个功能:在列表控件中添加一个按钮,按钮可以对该列表框中数据进行处理?大侠指教
[/Quote]

自己重绘
fengrx 2009-07-13
  • 打赏
  • 举报
回复
这样设计的界面也不是很人性化吧,建议直接将按钮放在此控件的旁边。
yuuy163 2009-07-13
  • 打赏
  • 举报
回复
没人知道吗?在线等,急
summoneral 2009-07-13
  • 打赏
  • 举报
回复
关注

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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