MFC笔记二
来源:互联网 发布:万方地方志数据库网址 编辑:程序博客网 时间:2024/04/28 16:26
1.MFC中动态创建控件(以CButton为例)
1.在xxdlg.h中添加CButton控件类指针 CButton *mybutton
2.在xxDlg::OnInitDialog()函数中初始化控件指针 mybutton=new CButton();
3.在String talbe中设置控件的唯一ID 例如IDC_MYBUTTON 然后在Caption中添加对应的说明文字。
4.最后在需要的地方或者发生对应的事件后通过函数
mybutton->Create("Button",WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,CRect(570,355,630,400),this,IDC_MYBUTTON);
生成控件
第一个参数为显示在控件上的文字,第二个参数为控件属性,第三个参数为控件产生的位置,第四个参数应该表示产生在哪个窗口吧?(自己查下MSDN)
第五个参数表示这个控件对应的ID(就是在String Table中添加的)。
到这步就可以显示控件了,下面步骤为控件添加消息响应处理函数
5.xxDlg.h的AFX_MSG{................}AFX_MSG之后加入
afx_msg void OnMyButton();
此为定义一个消息响应函数void OnMyButton()
6.在xxDlg.cpp的BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间加入
ON_BN_CLICKED(IDC_MYBUTTON, OnMyButton)
IDC_MYBUTTON为控件ID,OnMyButton为控件消息响应函数
表示具体ID号为IDC_MYBUTTON的控件产生单击事件后会调用此事件的处理函数OnMyButton()来执行相应动作;
7.在xxDlg.cpp中添加OnMyButton函数的实现
void xxDlg::OnMyButton(){......................}
8.最后要若需要暂时想销毁窗口时可通过函数
mybutton->DestroyWindow()
实现。
主要参考:http://hi.baidu.com/wangyunfeubaby/blog/item/7ccff9cee52d76430fb3458b.html
2.MFC中动态创建的控件不能显示的问题
Create(_T("Button"),WS_CHILD|WS_VISIBLE|BS_FLAT|BS_PUSHBUTTON,CRect(570,355,630,400),this,IDC_MYBUTTON);
问题是函数CRect函数中的参数设置不合理!
CRect中的参数前两个表示控件左上角的X、Y坐标,后两位表示控件右下角的X、Y轴坐标!这样来可以确定BUTTON控件的大小以及位置!
3.MFC中List 控件不能显示列表头
动态创建的时候在窗口风格处 添加LVS_REPORT属性。
4.MFC中List控件中插入条目不能正常显示。
这个和函数输入错误参数有关!应该使用如下方法!
tmp = m_listctrl->InsertItem(i,rows[i].id,0);
m_list->SetItemText(tmp,1,rows[i].addr);
调用InsertItem函数后会返回一个条目索引,这个索引值就是新插入的条目,
然后再根据这个条目插入第二列 第三列等。此处的tmp就是用来保存索引用的!- MFC学习笔记二
- MFC笔记二
- MFC笔记二
- MFC笔记(二)
- MFC学习笔记(二)
- 孙鑫-MFC笔记二--MFC框架剖析
- VC++/MFC学习笔记(二)
- 深入浅出MFC学习笔记(二)
- 《深入浅出MFC》笔记(二)
- MFC学习笔记(二)
- C++ MFC学习笔记二
- MFC学习笔记(二)
- MFC学习笔记(二)
- MFC学习笔记(二)
- 《深入浅出MFC》学习笔记之二
- 《深入浅出MFC》学习笔记之二
- 《深入浅出MFC》学习笔记之二
- MFC界面开发笔记(二)
- 【转】关于Github一些学习资料的收集(日后有时间慢慢看)
- linux命令(3)
- 编程珠玑--第一章使用位图
- 类的保护继承
- 俯瞰Struts2的整体流程
- MFC笔记二
- 如何成为一名Quant,金融工程师和My Life as a Quant书评
- CoreJava看的差不多了
- 2012.7.25
- CSDN这是肿么了,这是怎么做到的
- HDU-1285(拓扑排序改变)
- [Windows驱动开发](一)序言
- 杭电1108//最小公倍数
- iOS开发准备前工作