格允许用户选中整行。 GetListCtrl().SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE,0, LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT) ; CDC* pDC = GetDC();//获得设备环境对象 获得设备环境对象 TEXTMETRIC tm; pDC->GetTextMetrics(&;tm) ; //定义列表头 定义列表头
6
Windows 程序设计 VC++.NET 实验指导书 计算机科学系 郭清宇
GetListCtrl().InsertColumn (0," ",LVCFMT_LEFT,20*tm.tmAveCharWidth, 0); GetListCtrl().InsertColumn (1,"地址 地址 ",LVCFMT_LEFT,80*tm.tmAveCharWidth, 1); } // CListViewView 诊断 3.编译运行程序 编译运行程序
7
Windows 程序设计 VC++.NET 实验指导书 计算机科学系 郭清宇
实验三 对话框和控件基本知识(一)
1. 实验目的
学习对话框和控
件的基本知识和应用。
3. 实验内容
初步掌握模态对话框和非模态对话框的概念,了解各种 Windows 标准控件 的功能和使用方法,以及对话框和控件的设计、初始化、通知消息等概念。
实例 1:设置对话框背景色
1.新建项目 新建项目 类型:Visual C++项目;模板:MFC 应用程序;项目名称:BgColorDlg;应 用程序类型:基于对话框。 2.对话框编辑器 对话框编辑器 选择菜单“视图、资源视图”命令,打开资源视图编辑框,设置属性。 3.添加代码 添加代码 (1)建立 WM_CTLCOLOR 消息的相应函数: 在属性框里,单击消息图标,设置 WM_CTLCOLOR 消息的相应函数为: ONCtlColor。 (2)添加成员变量 在 BgColorDlgDlg.h 头文件中添加成员变量(斜体字) // CBgColorDlgDlg 对话框 class CBgColorDlgDlg : public CDialog { // 构造 public: CBgColorDlgDlg(CWnd* pParent = NULL); // 标准构造函数 public: CBrush m_brush;//创建画刷对象 在 BgColorDlgDlg.cpp : 实现文件中添加以下代码: SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO:在此添加额外的初始化代码 m_brush.CreateSolidBrush(RGB(255,255,200));//初始化画刷 return TRUE; // 除非设置了控件的焦点,否则返回 TRUE ……
8
Windows 程序设计 VC++.NET 实验指导书 计算机科学系 郭清宇
HBRUSH CBgColorDlgDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何属性 return m_brush; // TODO: 如果默认的不是所需画笔,则返回另一个画笔 //return hbr; } 4. 编译执行程序
UINT
实例 2:模态对话框
1.新建项目 新建项目 类型:Visual C++项目;模板:MFC 应用程序;项目名称:ModalDlg;应用 程序类型:单文档。 2.新建对话框 新建对话框 选择菜单“视图、资源视图”、打开资源视图编辑框,插入新对话框资源。 设计新对话框,标题为“模态对话框”。 3.添加代码 . (1)增加一个头文件 MyDlg.h #pragma once // CMyDlg 对话框 class CMyDlg : public CDialog { DECLARE_DYNAMIC(CMyDlg) public: CMyDlg(CWnd* pParent = NULL); // 标准构造函数 virtual ~CMyDlg(); // 对话框数据 enum { IDD = IDD_DIALOG1 }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 DECLARE_MESSAGE_MAP()