MAKEINTRESOURCE,ComboBox,属性表单
1. 如何改变按纽的字体?在对话框的属性中改变字体的属性即可
2.逃跑按纽的实现
1.从CButton派生一个类,CWeixinBtn
2.将IDC_EDIT1关联成员变量m_btn1,类型为CWeixinBtn,注意要包含头文件。
3.在CWeixinBtn中加一个指针成员变量CWeixinBtn *pWeixinBtn,然后将其地址初始化。
4.在新类中增加鼠标移动的消息处理。
3,MFC SDI程序中,窗口的菜单并不是在设计窗口类的时候创建。创建单文档模板时,将菜单资源标识(IDR_MAINTFRAME)作为其中的一个参数传入。当MFC底层代码在创建框架窗口时,就会把此标识符转换为相应的菜单句柄,然后创建菜单和框架窗口。
4,修改外观和图标可以在MainFrm中进行,而修改背景和光标只能在View中进行。为什么?因为view的显示挡在了MainFrame的前面。
5,MAKEINTRESOURCE是一个宏,它将整数转化为Win32的资源类型,简单的说它是一个类型转换
#define MAKEINTRESOURCEA(i)(LPSTR)((DWORD)((WORD)(i)))
6,ComboBox三种类型
简易式(Simple):这种类型的组合框包含一个编辑框和一个总是显示的列表框
下拉式(Dropdown):类似于简易式组合框,而这的区别在于下拉式组合框仅当单机下拉箭头后,列表框才会弹出
下拉列表式(DropList):下拉列表式组合框也有一个下拉列表框,但它的编辑框是只读的,不能输入字符,也就是说,这种类型的组合框只能从其下拉列表中选择内容
本例中,我们选择的时DropList
7.属性表单
1.插入属性页资源。Insert->newResource->Dialog->IDD_PropPage_Large
2.当选择Classwizard菜单时,系统提示是否为创建新的类,我们将其从CPropertyPage派生!这样可以为方便为其增加消息响应函数。
3.插入新的从CPropertySheet派生的类,在类中增加3个CPropertyPage的实例。
4.在view中增加菜单项,当点击时显示属性表单,出现中文乱码,修改CPropertyPage属性为中文,另外将其字体设为宋体。
4,在CPropertyPage中要获取CPropertySheet的指针,可以用(CPropertySheet*)GetParent(),属性表单窗口实际上是属性页对话框的父窗口
5.在CPropertyPage中设置SetWizardButtons可将其属性改为上一步、完成!
6.为IDC_RADIO1关联成员变量,需要先设置Group属性才行。另外别忘记调用UpdateData().
7.为CPropertyPage增加虚函数,OnWizardNext,如果用户点击下一步时,不想让他进入下一步,刚返回-1!
8.将用户的选择输出到屏幕上,此时可以在View中增加几个成员变量,用来接收用户选择的数据。
8.memset()的用法! memset(m_bLike,0,sizeof(m_bLike));
9, //(CListBox*)GetDlgItem(IDC_LIST1)->AddString(_T("北京"));
((CListBox*)GetDlgItem(IDC_LIST1))->AddString(_T("北京"));
总结
CPropertyPage,CPropertySheet,
CPropertyPage::OnSetActive
CPropertySheet ::SetWizardButtons
CPropertyPage ::OnWizardNext,
CListBox::AddString
CComboBox::AddString,
SetCurSel选择组合框的列表框中的一个字符串,并将其显示在该组合框的编辑框中
GetCurSel获得组合框的列表框中当前选中项的位置
CComboBox::GetLBText