`
缥缈孤鸿
  • 浏览: 40436 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

mfc 常用控件使用方法及常见数据类型转换

    博客分类:
  • C++
阅读更多
最近做了几个mfc小程序,想把我们经常用到而又经常忘记的的小知识记下来

一 数据类型的转换

1 int 到CString

   CString str;

   int tid=12,sno=21;
    str.Format("SELECT * FROM tiankong where ID=%d and sno=%d",tid,sno);

2 CString  到int

    CString str="asfassdfs";

    const char * pBuffs=LPCTSTR(str);
    int s=atoi(pBuffs);

或者读文件时

     CString flag;

     char TempStr1[10];

     memset(TempStr1,'\0',10);
     file.ReadString(flag);//读取第一行数据,第一行数据为坐标点数据
     sscanf(flag,"%s",TempStr1);
     int iflag = atoi(TempStr1);

3 int 到char[]

   char str[255];

   int i=1234;

   sprintf(str,"字符串:%d",i);

二 列表

1 列表设置扩展样式

    m_list.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT );//有网格,能选中一行

2 添加列属性及设置列大小

    m_list.InsertColumn(0, _T("名称"), LVCFMT_LEFT);
    m_list.InsertColumn(1, _T("类型"), LVCFMT_LEFT);
    m_list.InsertColumn(2,_T("父目录"), LVCFMT_LEFT);
    m_list.InsertColumn(3,_T("创建用户"), LVCFMT_LEFT);
m_list.InsertColumn(4,_T("备注"), LVCFMT_LEFT);
//SP-A3.设置各个栏的宽度
    m_list.SetColumnWidth(0,100);
    m_list.SetColumnWidth(1,50);
    m_list.SetColumnWidth(2,100);
    m_list.SetColumnWidth(3,100);
m_list.SetColumnWidth(4,100);

3 添加数据

   int nRow=m_list.InsertItem(0,"");
   if(cd->d[i].d_flag==1)
          type="目录";
   else type="文件";
      m_list.SetItemText(nRow,0,cd->d[i].d_name);
   m_list.SetItemText(nRow,1,type);
   if(cd->d[i].d_parent)
   m_list.SetItemText(nRow,2,cd->d[i].d_parent->d_name);
   m_list.SetItemText(nRow,3,cd->d[i].user);

4 获得选中的一行

int nItem = -1;
LPNMITEMACTIVATE lpNMItemActivate = (LPNMITEMACTIVATE)pNMHDR;
if(lpNMItemActivate != NULL)
{
  nItem = lpNMItemActivate->iItem;
}
else return;
if(nItem<0) return;
m_list.SetItemState(nItem,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);
m_list.SetHotItem(nItem);

三 树形控件

1 添加数据

m_tree.DeleteAllItems();
HTREEITEM hItem,hSubItem;
hItem =m_tree.InsertItem("根目录",TVI_ROOT);//在根结点上添加Parent1
hSubItem =m_tree.InsertItem(cd->d[0].d_name,hItem);//在Parent1上添加一个子结点
hSubItem =m_tree.InsertItem(cd->d[1].d_name,hItem ,hSubItem);//在Parent1上添加一个子结点,排在Child1_1后面
hSubItem =m_tree.InsertItem(cd->f[0].f_name,hSubItem);//在Parent1上添加一个子结点,排在Child1_1后面

四 文件

1 写一行

CString str="";
  CStdioFile file;
  file.Open(filename,CFile::modeCreate|CFile::modeWrite);
 
  str.Format("%d\r\n",d.flag);
  file.WriteString(str);

  file.Close();

2 读一行

CStdioFile file;
  file.Open(filename,CFile::modeRead);
  CString flag="";
  int iflag;
     //if(!file.ReadString(flag));
     char TempStr1[10];

     memset(TempStr1,'\0',10);
     file.ReadString(flag);//读取第一行数据,第一行数据为坐标点数据
     sscanf(flag,"%s",TempStr1);
     iflag = atoi(TempStr1);
     //MessageBox(flag);
五 其他

1 建立对话框

login.Create(IDD_LOGIN,this->GetDesktopWindow());

this->ShowWindow(false);
     //dlg.SetParent(this->GetDesktopWindow());
    // login.ShowWindow(SW_SHOW);
  login.DoModal();

2 获得对话框

CFileApp *ca= (CFileApp *)AfxGetApp();
//AfxGetApp()-> m_pMainWnd->GetDlgItem
    CFileDlg * cd=(CFileDlg * )ca->m_pMainWnd;
分享到:
评论

相关推荐

    标准MFC WinSock ActiveX控件开发实例

    大家可以看到,该函数将最基本的若干中数据类型转换成了long类型,但VARIANT决不是个简单的谱,我将在后面继续揭开它的神秘面纱. 编写我们刚才的接口Connect(),代码代码如下: 在MFCWinSockCtrl.h中加入 SOCKET ...

    标准MFC WinSock ActiveX控件开发实例(II)高级篇

    //将浮点型数据进行类型转换,再进行传送 VARIANT gData; VariantInit(&gData); //送出信息至服务器 FD_ZERO(&fdwrite); tv.tv_sec = gTimeOut;//指定时间后返回 tv.tv_usec = 0; FD_SET(OnlySock,&fdwrite);...

    MFC学习总结

    我学习MFC查找过的资料总和包括数据库连接之类,控件调用,数据类型转换等等

    com自学视频教程

    5、QueryInterface函数,HRESULT类型,IID类型,数据类型转换 计数引用AddRef与Release 内容提要: 1、内存资源何时释放 2、引用计数的原理 3、AddRef与Release的实现与使用 4、引用计数的优化 IDispatch接口...

    C++MFC教程

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

    VC++常用的共用函数100多页

    VC常用数据类型使用转换详解 114 用Visual C++操作INI文件 117 单文档加入背景图 119 更新窗体方法 120 更改窗口控件的能动和不能动(以按钮控件为例) 120 窗口响应键盘事件 120 密码框输入受保护 121 最高窗口的...

    MFC的程序框架剖析

    一个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。...

    VC++常用功能实例

    VC常用数据类型使用转换详解 114 用Visual C++操作INI文件 117 单文档加入背景图 119 更新窗体方法 120 更改窗口控件的能动和不能动(以按钮控件为例) 120 窗口响应键盘事件 120 密码框输入受保护 121 最高窗口的...

    计算器 mfc 代码

    计算器 mfc 代码 基于VC++简易计算器实验详细过程 硬件环境: 软件环境:WinXP+VC++6.0 一、实验目的:构造一个类似Windows自带的计算器一样的简易计算器,能够连续进行加、减、乘、除四则整数运算,并能随时清除...

    Visual C++实践与提高-COM和COM+篇『PDF』

    7.1.5 VARIANT数据类型 7.2 用MFC开发自动化组件——例程MFCSampleExe 7.2.1 创建最小的MFC自动化EXE工程 7.2.2 添加COM对象类、接口、属性和方法 7.2.3 在Excel中测试组件 7.3 用ATL开发自动化组件——例程...

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

    VC++ MFC 经典教程 - 基础篇 1.CP_YourFirstWindowsProgram.mp4 10.MFC_GDI_画直线和曲线.mp4 11.MFC_GDI_画椭圆_多边形及其他形状.mp4 12.MFC_GDI_画笔和画刷.mp4 ...自动类型转换.mp4 47.动态创建对象...

    用MFC实现串口编程

    本文既写了在Windows中怎样用VC控件MSComm,又说明了API技术编程方法,在写用MSComm控件时,数据类型的转换说得不是太明白,初次涉猎串口编程的朋友恐怕看了还是编不出来;直接从底层编写的部分值得一读,说得较为...

    VC学习大纲 VC学习讲义

    如何利用命名互斥保证只有一份程序实例被运行,结合多线程,网络编程,自定义消息,数据类型转换,如何改变文本框对回车的默认处理方式等技术编写网络聊天程序。 第十八课: 动态连接库程序的编写,库函数的两种输出...

    Visual C++ 2005入门经典.part08.rar (整理并添加所有书签)

    2.3.8 定义数据类型的同义词 2.3.9 具有特定值集的变量 2.3.10 指定枚举常量的类型 2.4 基本的输入输出操作 2.4.1 从键盘输入 2.4.2 到命令行的输出 2.4.3 格式化输出 2.4.4 转义序列 2.5 C++中的计算 2.5.1 赋值...

    Visual C++ 2005入门经典.part04.rar (整理并添加所有书签)

    2.3.8 定义数据类型的同义词 2.3.9 具有特定值集的变量 2.3.10 指定枚举常量的类型 2.4 基本的输入输出操作 2.4.1 从键盘输入 2.4.2 到命令行的输出 2.4.3 格式化输出 2.4.4 转义序列 2.5 C++中的计算 2.5.1 赋值...

    Visual C++ 2005入门经典.part07.rar (整理并添加所有书签)

    2.3.8 定义数据类型的同义词 2.3.9 具有特定值集的变量 2.3.10 指定枚举常量的类型 2.4 基本的输入输出操作 2.4.1 从键盘输入 2.4.2 到命令行的输出 2.4.3 格式化输出 2.4.4 转义序列 2.5 C++中的计算 2.5.1 赋值...

    Visual C++ 2005入门经典.part09.rar (整理并添加所有书签)

    2.3.8 定义数据类型的同义词 2.3.9 具有特定值集的变量 2.3.10 指定枚举常量的类型 2.4 基本的输入输出操作 2.4.1 从键盘输入 2.4.2 到命令行的输出 2.4.3 格式化输出 2.4.4 转义序列 2.5 C++中的计算 2.5.1 赋值...

Global site tag (gtag.js) - Google Analytics