`
ai_longyu
  • 浏览: 481785 次
社区版块
存档分类
最新评论

MFC对话框list control 初始化方法

 
阅读更多

这个初始化函数可以建立类向导中Add Function...这是从助教那学来的,感觉不错。。。这是个初始化函数,我在图书管理系统中应用了一下。。。这一段实现的功能就是打开对话框,能够在表格中显示管理员信息(注:列表控件选择报表report)。。。

画红色的部分是根据自己情况修改的~其余部分就可以用啦

BOOL CEditManager::OnInitDialog()
{
CDialog::OnInitDialog();

// TODO: Add extra initialization here
//设置Listctrl为报表形式

CListCtrl* pmyListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST1);
DWORD dwStyle = GetWindowLong(pmyListCtrl->m_hWnd, GWL_STYLE);
SetWindowLong( pmyListCtrl->m_hWnd, GWL_STYLE, dwStyle | LVS_REPORT);

//设置listctrl可以整行选择和网格条纹
DWORD styles = pmyListCtrl->GetExtendedStyle();
pmyListCtrl->SetExtendedStyle(styles|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

//给listctrl设置5个标题栏
TCHAR rgtsz[5][10] = {_T("馆员卡号"),_T("管员姓名"),_T("性别"),_T("年龄"),_T("工作时间")};

//修改数组大小,可以确定分栏数和没栏长度,如果修改下面的数据(蓝色部分)也要跟着改变

LV_COLUMN lvcolumn;
CRect rect;
pmyListCtrl->GetWindowRect(&rect);
for (int i=0;i<5;i++)
{
lvcolumn.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT
| LVCF_WIDTH | LVCF_ORDER;
lvcolumn.fmt = LVCFMT_LEFT;
lvcolumn.pszText = rgtsz[i];
lvcolumn.iSubItem = i;
lvcolumn.iOrder = i;
lvcolumn.cx = rect.Width()/5;
pmyListCtrl->InsertColumn(i, &lvcolumn);
}

ifstream input("manager.dat");//这是我自己需要的读文件操作
Manager manager;

input.read((char *)&manager,sizeof(manager));

while (input)
{
i=0;
CString strText;
if (manager.tag=='#')
{

strText.Format(TEXT("%d"), manager.number);

// Insert the item, select every other item.
pmyListCtrl->InsertItem(LVIF_TEXT|LVIF_STATE, i, strText,
(i%2)==0 ? LVIS_SELECTED : 0, LVIS_SELECTED,0, 0);

// Initialize the text of the subitems.


strText.Format("%s", manager.name);//这里就是要往里面输入的数据,注意坐标
pmyListCtrl->SetItemText(i, 1, strText);

strText.Format("%s", manager.sex);
pmyListCtrl->SetItemText(i, 2, strText);

strText.Format("%d", manager.age);
pmyListCtrl->SetItemText(i, 3, strText);

strText.Format("%d", manager.year);
pmyListCtrl->SetItemText(i, 4, strText);

}
input.read((char *)&manager,sizeof(manager));
};
input.close();

return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}

祝大家好运~~

分享到:
评论

相关推荐

    ListControl控件改变表头颜色

    ListControl,重写ListControl控件类,可以根据自己的需要修改控件表头颜色。在VC6.0下调试成功。

    HeaderListCtrlEx、HeaderCtrlEx(MFC的LIST控件美化、单个单元格颜色设置变化)

    懂的用,用于将MFC中的LIST控件美化,使用很...然后注意在窗口初始化中设置初始化颜色即可。 本代码修正了内存泄漏的问题,以及增加了释放颜色,以便更新单元格颜色的功能。 代码中包含4个文件,VS2005使用无问题。

    VC++.MFC开发(含完整代码

    增加本人的姓名“张三”命名的菜单项,并添加事件处理程序,点击“张三”菜单项后,产生以本人学号命名的对话框“0806054249” (Dialog),在对话框中实现Control List控件的添加,删除以及初始化操作,同时使用...

    Vc++ 控件List Control用法总结

    1.新建对话框MFC,在对话框上放一个ListCtrl ID:IDC_PATH View:Report 2.为ListCtrl添加变量 右击-&gt;添加变量m_wndPath 3.找到OnInitDialog()函数添加如下代码: // TODO: 在此添加额外的初始化代码 m_wndPath....

    第一题学生成绩管理系统.cpp

    在students managementDlg.cpp中拥有list control初始化的代码以及8个按钮分别对应实现的代码。在student.h头文件,里面用于存放一个“学生类”,在public中存放学生的姓名,学号,高数成绩,c++成绩,(分CString...

    MFC用ADO连接ACESS数据库实例

    在MFC中创建DataAdo项目对话框,在资源视图上加上一个list control控件,变量名m_list,Styles View设为Report。在项目DataAdo文件下创建db1的ACESS数据库,表名为表1,字段名称姓名、性别。 1、在stdafx.h头文件...

    77G 22套C语言 C++ 数据结构 程序设计视频课程合集 C丨C++相关学习视频全套视频教程

    012.MFC_ListControl.mp4 013.MFC_TreeControl.mp4 014.MFC_DateTimePicker.mp4 015.MFC_Menu.mp4 016.MFC_Toolbar16.mp4 017.MFC_Toolbar24.mp4 018.MFC_StatusBar.mp4 019.MFC_两种对话框.mp4 020.MFC_...

    C++MFC教程

    在MFC中对消息的处理利用了消息映射的方法,该方法的基础是宏定义实现,通过宏定义将消息分派到不同的成员函数进行处理。下面简单讲述一下这种方法的实现方法: 代码如下 BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd...

    MFC的程序框架剖析

    对于一个全局对象来说,此时就会调用该对象的构造函数,构造该对象,并进行初始化操作 8、实例句柄与全局对象 (1)对于Win32 SDK程序,应用程序的实例是由实例句柄(WinMain函数的hInstance参数)来标识的 (2)对于MFC...

    VC++6[1].0入门【第七章_windows标准控件】.doc

    每个控件都有一个属性集,对于静态创建的控件,可以在对话框模板中,打开控件的属性对话框直接设置控件的初始属性。在程序设计过程中,可以通过控件类对象调用方法设置控件的属性。 3. 控件消息类别 表7-1中所列出...

    listcon.rar

    本例程包含listcontrol的添加新的选项,删除选中选项,读取选中项的内容,在线程运行过程中时刻选中当前运行的选项,初始化list control的网格样式,有疑问请留言

    Visual C++2010开发权威指南(共三部分).part1.rar

    6.3.2 初始化视图类数据成员 283 6.3.3 加入消息处理功能 285 6.3.4 设计程序资源 290 6.3.5 定制miniDraw窗口 292 6.3.6 程序清单 293 6.4 Visual C++ 2010 EditView开发 298 6.4.1 生成MiniEdit程序 299 6.4.2 ...

    Visual C++ 编程资源大全(英文源码 表单)

    21.zip Parse phone fields 解析电话区域(11KB)&lt;END&gt;&lt;br&gt;22,22.zip Changing the default file open/save dialogs in an MFC doc/view application 初始化对话框和支持动态数据交换(DDX)(15KB)&lt;END&gt;&lt;br&gt;...

    MFC与IP多播技术的局域网聊天器网络课程设计

    //初始化 WinSock2.2 if( WSAStartup( MAKEWORD(2,2),&wsd;) != 0 ) { printf("WSAStartup() failed\n"); return -1; } if((sock=WSASocket(AF_INET,SOCK_DGRAM,0,NULL,0, WSA_FLAG_MULTIPOINT_C_LEAF|WSA_FLAG_...

    vc++ 开发实例源码包

    MFC 对话框 MP3 内部包含:mp3播放器Lrc歌词同步源程序代码分析、mp3播放器+支持歌词同步显示哦、简单音乐播放器。 mfc 解码 视频音频解码部分。 MFC_MultiSender_OVER 文件传送,多文件(超大文件)传送功能的...

    Visual C++ 编程资源大全(英文控件)

    带初始化的对话条(42KB)&lt;END&gt;&lt;br&gt; 1,01.zip Setting selected text to read-only 设置选择的文本为只读(2KB)&lt;END&gt;&lt;br&gt;2,02.zip Changing word wrap mode 改变换行模式(2KB)&lt;END&gt;&lt;br&gt;3,03.zip ...

    代码语法错误分析工具pclint8.0

    它进行程序的全局分析,能识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针,冗余的代码,等等。软件除错是软件项目开发成本和延误的主要因素。PClint能够帮你在程序动态测试之前发现编码错误。...

    在一小时内学会 C#(txt版本)

    正如其名字说的,一旦它们已经进行了写操作、直接初始化或在构造函数中对其进行了赋值,readonly 数据成员就只能对其进行读取。readonly 和 const 数据成员不同之处在于 const 要求你在声明时进行直接初始化。看下面...

Global site tag (gtag.js) - Google Analytics