正文

笔记:在VC++的MFC中为对话框添加各类型控件(1)2006-11-21 11:40:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/otot/20553.html

分享到:

入门学习笔记:

A、增加新对话框(模态):
1、点击菜单插入-资源,选择Dialog,点击新建。
2、编辑一下对话框。
3、资源做完了,准备连接上一个类,点击菜单查看-建立类向导(ClassWizard)。
4、点击AddClass新建一个类。
5、如无意外刚才新添加的资源(包括资源的ID号)已经出现在新建类对话框中,只需要添加一个类名(如CMyDialog),点击确定,新的类便产生,并与资源连接上。
6、在*view.cpp的开头添加新建立的类的头文件(如:#include "mydialog.h")。
7、在执行函数里面添加打开对话框的指令:
 CMyDialog mydialog;//建立实例
 mydialog.DoModal();//实例执行 
8、运行一下。

B、增加微调控件:
1、在对话框的已有文本框旁边添加一个spin。
2、在spin属性的STYLE中选Setbuddyinteger。
3、打开ClassWizard,为文本框添加一个对应m_edit1控件和一个整数m_abc。
4、为spin添加一个对应m_spinbtn1控件。
5、在CMyDialog::OnInitDialog() 中添加以下代码:
 m_abc=10;
 m_spinbtn1.SetBuddy(&m_edit1);//设置关联的控件
 m_spinbtn1.SetRange(0,255);//设置可以微调范围
 m_spinbtn1.SetPos(m_abc);//设置初始值
8、运行一下。

C、增加滑动条:
1、在对话框中添加一个滑动条(slider)。
2、在slider的属性的STYLE中选择滑动条是竖向还是横向。
3、打开ClassWizard,为滑动条添加一个对应的m_slider1控件和一个整数m_slider1_value。
4、在CMyDialog::OnInitDialog() 中添加以下代码:
 m_slider1.SetRange(0,255);//设置数值范围
 m_slider1_value=100;//设置当前值
 m_slider1.SetPos(m_slider1_value);
5、运行。
6、如果要为滑动条增加一个响应数值变化的函数,可以打开ClassWizard,为滑动条添加一个(Releasedcapture)的消息函数如下:
void CMyDialog::OnReleasedcaptureSlider1(NMHDR* pNMHDR, LRESULT* pResult)
{
 char temp[10];
 m_slider1_value=m_slider1.GetPos();
 itoa(m_slider1_value,temp,10);
 m_edit3.SetWindowText(temp);//把当前数值显示到EDIT控件里
 *pResult = 0;
}

D增加滚动控件:
1、在对话框中添加一个滚动条(scrollbar)。
2、打开ClassWizard,为滚动条添加一个对应的m_scrollbar1控件和一个整数m_scrollbar1_value。
3、在CMyDialog::OnInitDialog() 中添加以下代码:
 m_scrollbar1.SetScrollRange(0,255);
 m_scrollbar1.SetScrollPos(100);
4、打开ClassWizard的Message Map页面,为对话框(CMyDialog)的"WM_HSCROLL"添加"ON_WM_HSCROLL"函数。
5、函数具体内容:
void CMyDialog::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
 int pos=pScrollBar->GetScrollPos();
 switch (nSBCode)
 {
 case SB_LINERIGHT: pos+=1;break;//单击滚动条的右箭头
 case SB_LINELEFT: pos-=1;break;//单击滚动条的左箭头
 case SB_PAGERIGHT: pos+=10;break;//单击滚动块的右侧
 case SB_PAGELEFT: pos-=10;break;//单击滚动块的左侧
 case SB_THUMBTRACK: pos=nPos;break;//拖动滚动块
 default: break;
 }
 pScrollBar->SetScrollPos(pos);//重新设置滚动块的位置
 char temp[10];
 itoa(pos,temp,10);
 m_edit3.SetWindowText(temp);//把当前数值显示到EDIT控件里
 CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
6、运行。

E、增加单选框
1、在对话框中添加4个单选框(radio),每两个用一个GroupBox框框起来。
2、在radio1和radio3的属性里面,将Group属性选中(分成两组了)。
3、打开ClassWizard,为两组各添加一个对应的整数参数m_radio1_value和m_radio3_value。
4、m_radio1_value和m_radio3_value的初始值是“-1”,表示两个单选框都没选中,可在CMyDialog::OnInitDialog() 中添加以下代码修改该值:
 m_radio1_value = 1;//表示选中第2个
 m_radio3_value = 0;//表示选中第1个
5、运行。

F、增加复选框
1、在对话框中添加1个复选框(check)。
2、打开ClassWizard,为复选框添加一个对应的整数参数m_check1(类型是BOOL)
3、在CMyDialog::OnInitDialog()添加:m_check1=TRUE
4、运行。

阅读(14030) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册