- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC程序设计学生基本信息
实验4 画图程序设计
实验目的和要求
(1)创建一个基于CListView的单文档应用程序Ex_Student,用于以报表方式来显示学生基本信息。
(2)修改“学生基本信息”对话框,使其能显示学生BMP照片文件。如图4.1所示。
图4.1 “学生基本信息”对话框
(3)选择“学生基本信息”→“添加”菜单命令,弹出“学生基本信息”对话框,单击“添加”按钮,学生基本信息添加到列表视图中,并且图片文件被复制到指定文件夹中。
(4)打印并能预览列表视图中所有的列表项内容。如图4.2所示。
图4.2 打印预览结果
实验准备和说明
(1)具备知识:图形、文本、BMP位图、打印和打印预览。
(2)创建本次实验工作文件夹“…\Visual C++程序\实验\实验4”。
实验内容和步骤
1.启动Visual C++ 6.0
启动Visual C++ 6.0CEx_StudentView::PreCreateWindow函数添加下列代码,用来设置列表视图内嵌列表控件的风格:
BOOL CEx_StudentView::PreCreateWindow(CREATESTRUCT cs)
{
cs.style |= LVS_REPORT; // 报表风格
return CListView::PreCreateWindow(cs);
}
③ 在CEx_StudentView::OnInitialUpdate函数中添加下列代码,用来创建列表标题头:
void CEx_StudentView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
CListCtrl m_ListCtrl = GetListCtrl();
CString strHeader[]={学号,姓名, 性别, 出生年月, 所学专业};
int nLong[] = {80, 80, 60, 100, 180};
for (int nCol=0; nColsizeof(strHeader)/sizeof(CString); nCol++)
m_ListCtrl.InsertColumn(nCol,strHeader[nCol],LVCFMT_LEFT,nLong[nCol]);
}
④ 编译运行。
3.添加并修改“学生基本信息”对话框及其代码
①右击对话框,选中属性,创建“学生基本信息”对话框(ID为IDD_INPUT),在空白处双击鼠标,为其添加类CStuInfoDlg。
“学生基本信息”对话框
如上图设计该对话框,调整好各控件的位置。左边控件的ID分别为:IDC_EDIT_NAME, IDC_EDIT_NO, IDC_SEX(第一个Radio控件,同时它的“组”属性要选定;第二个Radio不管), IDC_BIRTHDAY, IDC_MAJOR。“出生年月”的控件是选择日期时间选取器。
为控件关联成员变量:
控件ID 变量类型 变量名字 IDC_EDIT_NAME CString m_strName IDC_EDIT_NO CString m_strNo IDC_SEX int m_bMale IDC_BIRTHDAY CTime m_tBirth IDC_MAJOR CString m_strSpecial
② 添加两个控件:一个是静态文本控件,ID设为IDC_DRAW,选中“下沉”风格;另一个是按钮控件,标题为“插入照片”,ID为ID_BUTTON_PHOTO。
③为CStuInfoDlg 类添加下列成员变量:
public:
BOOL m_bPhotoChange; // 照片文件是否重新指定
HBITMAP m_hBitmap; // 位图句柄
CString m_strPhotoFilePath; // 照片文件全路径名
④ 在CStuInfoDlg::OnInitDialog中添加下列代码:
在Workspace的ClassView页面,右击CStuInfoDlg,选中Add Windows Message Handler…,在新建Windows消息/事件(N):选中WM_INITDIALOG后按确定即可。
BOOL CStuInfoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
…
if (!m_strPhotoFilePath.IsEmpty()) {
m_hBitmap = (HBITMAP)::LoadImage(AfxGetInstanceHandle(), m_strPhotoFilePath,
IMAGE_BITMAP, 0,0,LR_LOADFROMFILE|LR_CREA
文档评论(0)