MFC基础知识总结.docx

上传人:b****5 文档编号:2824479 上传时间:2022-11-15 格式:DOCX 页数:49 大小:49.45KB
下载 相关 举报
MFC基础知识总结.docx_第1页
第1页 / 共49页
MFC基础知识总结.docx_第2页
第2页 / 共49页
MFC基础知识总结.docx_第3页
第3页 / 共49页
MFC基础知识总结.docx_第4页
第4页 / 共49页
MFC基础知识总结.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

MFC基础知识总结.docx

《MFC基础知识总结.docx》由会员分享,可在线阅读,更多相关《MFC基础知识总结.docx(49页珍藏版)》请在冰豆网上搜索。

MFC基础知识总结.docx

MFC基础知识总结

1.列表视图控件:

  

  ClistCtrl类的用法:

  1常规操作函数:

它们可以完成向列表视图中插入新

  条目或新列等操作。

  ISubItem-指定条目子索引项

  BOOLDeleteAllItems()删除列表控件中所有条目

  intInsertColumn(intnCol,constLVCOLUMN*pColum)插入新列操作成功返回新列索引

  nCol-----指定新列索引。

  pColum---为LVCOLUMN结构指针,包含将插入的信息。

  LVCOLUMN结构

  例:

m_ListCtrl.InsertColumn(0,_T("所有匹配的单词"),LVCFMT_LEFT,115);

  intInsertItem(constLVITEM*pItem)调用该函数以

  向列表中插入新条目返回新条目索引值

  pItem-------为LVITEM结构,其中包含了将插入的条目信息

  列表控制中包含两个非常重要的数据结构LV_ITEM和LV_COLUMN。

LV_ITEM用于定义列表控制的一个表项,LV_COLUMN用于定义列表控制的一个表列

  例:

m_ListCtrl.InsertItem(0,WordSet.m_Word);//数据项

  CStrings;

  s.Format("%d",m_Set.m_column1);//格式化

  //intInsertItem(i,s,0)调用该函数以向列表中插入新条目返回新条目索引值

  //相当于插入新的一行数字代表列数

  m_ListCtrlx.InsertItem(i,s,0);

  EnsureVisible---调用该函数以确保指定的列表视图条目可见,其原型为:

  BOOLEnsureVisible(intnItem,BOOLbPartialOK)

  返回值:

  nItem:

指定了必须可见的条目索引。

  bPartialOK:

指定了是否允许部分可见。

  列表视图控件将在必要时进行滚动,以确保指定条目可见。

如果bPartialOK参数为非零值,则当条目部分可见时,列表视图控件不进行滚动。

  

  2。

属性操作函数:

它们可以完成对列表视图控件的属性的设置和查询等操作。

  DWORDSetExtendedStyle(DWORDdwNewStyle)//先设计列表风格

  如果函数调用成功,则返回列表视图控件先前所使用的

  扩展风格。

  LVS_EX_FULLROWSELECT-----对列表视图中的项目进行整行选择,即选择某条目时,该条目的所在行都被选择。

  LVS_EX_GRIDLINES----将在列表视图控件中绘制网格线0x21。

  例:

m_ListCtrl.SetExtendedStyle(LVS_EX_GRIDLINES);//将在列表视图控件中绘制网格线0x21。

  POSITIONGetFirstSelectedItemPosition()const如果函数执行成功,则返回条目的POSITION值,如果返回值为KULL,则表示当前列表视图控件中没有条目选中。

  IntGetNextSelectedItem(POSITION&pos)const如果函数执行成功,则返回列表视图控件中下一个被选中的条目索引。

其中参数pos为将接收条目POSITION值的变量。

  BOOLSetColumnWidth(intnCol,intcx)

  调用该函数以设置报表视图或列表视图中指定列的宽度。

  nCol----指定了将被设置宽度的列索引。

  cx-------指定了列的新宽度。

  IntGetItemText(intnItem,intnSubItem,LPTSTRlpszText,intnLen)const;

  CStringGetItemText(intnItem,intnSubItem)const;

  对于int,其返回值为所指定的文本长度;对CString,其返回值为包含条目文本的CString对象。

  nItem--------指定将被获取文本的条目索引

  nSubItem---------指定了将被获取文本的条目子项的索引。

  lpszText---------将返回条目文本的缓冲区指针。

  nLen----------指定lpszText缓冲区的长度。

  如果nSubItem为0,则函数将获取条目的标签,nSubItem不为0,将获取指定条目子项的文本。

  例:

  

  BOOLSetItemText(intnItem,intnSubItem,LPTSTRlpszText);

  如果函数调用成功,则返回非零值,否则返回零值。

  nItem--------指定将被设置的条目索引

  nSubItem---------指定了将被设置文本的条目子项的索引。

  lpszText---------指定了将被设置的新条目文本。

  

  例:

  charszTemp[27]={'\0'};//缓冲区

  

  POSITIONPos=m_ListCtrl.GetFirstSelectedItemPosition();

  if(Pos==NULL)return;

  intnCurIndex=m_ListCtrl.GetNextSelectedItem(Pos);

  

  m_Display.Empty();//文本编辑框

  m_ListCtrl.GetItemText(nCurIndex,0,szTemp,26);

  CImageList:

图像列表

  

  CImagelist*GetImageList(intnImageList)const;

  如果函数执行成功,则返回列表视图控件的图像列表指针。

  nImageList----指定了将获得的图像列表类型。

  LVSIL_NORMAL---获取大图标图像列表指针

  LVSIL_SMALL--获取小图标图像列表指针

  LVSIL_STATE--获取状态图像列表指针

  CImageList*SetImageList(CImageList*pImageList,intnImageList);

  如果函数执行成功,返回先前的图像列表指针

  参数:

pImageList--指定了要设置的图像列表指针

  nImageList--指定了要设置的图像列表类型

  COLORREFGetBkColor()const;调用该函数获得列表视图控件的背景颜色。

  函数执行成功,返回32位RGB值

  BOOLSetBkColor(COLORREFcr);调用该函数设置列表视图控件的背景颜色。

  函数执行成功,返回非零值,否则返回零值。

  CHeaderCtrl*GetHeaderCtrl();调用改函数以得到列表视图控件的标头控件指针

  函数调用成功,返回列表视图控件所使用的标头控件指针

  例:

  m_imagelist.Create(16,16,TRUE,2,2);

  m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_YES));

  m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_NO));

  m_list.SetImageList(&m_imagelist,LVSIL_SMALL);

  

  m_list.SetExtendedStyle(0x21);

  m_list.SetFont(&m_font1);//设置全部字体

  //m_list.GetHeaderCtrl()->SetFont(&m_font1);//只设置标头控件的字体

  //以下函数与文本有关

  m_list.SetBkColor(RGB(247,247,0));

  m_list.SetTextColor(RGB(255,255,255));//设置列表视图控件的文本颜色

  m_list.SetTextBkColor(RGB(0,0,255));//设置列表视图控件中文本背景色

  m_iImageList.Create(24,24,TRUE,1,0);

  HICONhIcon=NULL;

  hIcon=(HICON):

:

LoadImage(:

:

AfxGetInstanceHandle(),

  MAKEINTRESOURCE(IDI_KEBIAO),IMAGE_ICON,24,24,0);

  m_iImageList.Add(hIcon);

  m_FileTree.SetImageList(&m_iImageList,TVSIL_NORMAL);

  ----------------------事例----------------------------------

  实现排序:

  BOOLm_Bs;

  BOOLm_bIsAsc;//互斥信号量:

true升序反之降序

  CDRecordsetm_Set;

  voidSort(BOOLisAsc=TRUE,intsecol=1);

  

  voidCBaDialog:

:

Sort(BOOLisAsc,intsecol)

  {

  if(m_Set.IsOpen())

  m_Set.Close();

  this->Select();//打开所选择数据表

  m_bSet.Close();//只对m_Set数据标排序所以关闭m_bSet

  CODBCFieldInfofieldInfo;

  m_Set.GetODBCFieldInfo(secol,fieldInfo);//返回纪录集中字段的特定种类的信息即所选

  择的信息

  if(isAsc)//实现排序功能

  {

  m_Set.m_strSort=fieldInfo.m_strName+"ASC";//orderby

  m_bIsAsc=TRUE;

  }

  else

  {

  m_Set.m_strSort=fieldInfo.m_strName+"DESC";

  m_bIsAsc=FALSE;

  }

  m_Set.Requery();

  

  }

  //单击索引

  voidCBaDialog:

:

OnColumnclickList3(NMHDR*pNMHDR,LRESULT*pResult)

  {

  NM_LISTVIEW*pNMListView=(NM_LISTVIEW*)pNMHDR;//系统自动生成

  //TODO:

Addyourcontrolnotificationhandlercodehere

  if(FALSE==m_bS)

  {

  intk=pNMListView->iSubItem;//鼠标单击选择第几行

  Sort(!

m_bIsAsc,k);

  m_ListCtrlx.DeleteAllItems();

  this->Show();//把数据库学

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1