- 浏览: 40436 次
- 性别:
- 来自: 大连
最新评论
最近做了几个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;
一 数据类型的转换
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;
发表评论
-
c++操作符优先级总结
2013-12-03 14:47 754优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有 ... -
Qt状态机实例
2013-12-03 14:01 1053#include <QApplication> ... -
c++数据类型的隐形转换
2013-09-02 09:51 1632(1)隐式转换发生的时机:当传递给操作符或者函数的参数与指定类 ... -
C中的野指针
2013-08-30 16:11 993讨论一 什么是野指针 ... -
STL学习(转)
2012-08-28 15:38 1389STL就是Standard Template Libr ... -
STL详解
2012-08-28 14:33 1693STL概述 STL的一个重要 ... -
c++的三种继承(转)
2012-08-23 18:47 1022http://blog.csdn.net/wang_lime ... -
MFC OpenGL标签云 (转)
2012-08-22 11:21 1225初识标签云是在去年年末,一看到这个应用我就特别感兴趣。还记 ... -
MFC中ADO方式操作数据库实例(转)
2012-08-22 11:12 2389连接ACCESS为例: //头文件 #pragma on ... -
派生类的构造函数(转)
2012-08-20 18:05 933派生类的数据成员由所 ... -
元算符重载时友元函数和成员函数的选择
2012-08-18 20:14 1370一般情况下,单目运算符最好重载为类的成员函数;双目运算符则最好 ... -
C++面试题(转)
2012-08-16 17:25 7831.是不是一个父类写了一个virtual 函数,如果子类覆盖它 ... -
8皇后问题c++的递归实现
2012-08-16 16:18 1454最近用C++递归形式实现了8皇后问题,可能效率有点低 #i ... -
c++实现的一些排序算法
2012-08-15 11:37 1343最近用c++简单实现了一些排序算法,记下来,以便以后用到 ...
相关推荐
大家可以看到,该函数将最基本的若干中数据类型转换成了long类型,但VARIANT决不是个简单的谱,我将在后面继续揭开它的神秘面纱. 编写我们刚才的接口Connect(),代码代码如下: 在MFCWinSockCtrl.h中加入 SOCKET ...
//将浮点型数据进行类型转换,再进行传送 VARIANT gData; VariantInit(&gData); //送出信息至服务器 FD_ZERO(&fdwrite); tv.tv_sec = gTimeOut;//指定时间后返回 tv.tv_usec = 0; FD_SET(OnlySock,&fdwrite);...
我学习MFC查找过的资料总和包括数据库连接之类,控件调用,数据类型转换等等
5、QueryInterface函数,HRESULT类型,IID类型,数据类型转换 计数引用AddRef与Release 内容提要: 1、内存资源何时释放 2、引用计数的原理 3、AddRef与Release的实现与使用 4、引用计数的优化 IDispatch接口...
在MFC中对消息的处理利用了消息映射的方法,该方法的基础是宏定义实现,通过宏定义将消息分派到不同的成员函数进行处理。下面简单讲述一下这种方法的实现方法: 代码如下 BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd...
VC常用数据类型使用转换详解 114 用Visual C++操作INI文件 117 单文档加入背景图 119 更新窗体方法 120 更改窗口控件的能动和不能动(以按钮控件为例) 120 窗口响应键盘事件 120 密码框输入受保护 121 最高窗口的...
一个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。...
VC常用数据类型使用转换详解 114 用Visual C++操作INI文件 117 单文档加入背景图 119 更新窗体方法 120 更改窗口控件的能动和不能动(以按钮控件为例) 120 窗口响应键盘事件 120 密码框输入受保护 121 最高窗口的...
计算器 mfc 代码 基于VC++简易计算器实验详细过程 硬件环境: 软件环境:WinXP+VC++6.0 一、实验目的:构造一个类似Windows自带的计算器一样的简易计算器,能够连续进行加、减、乘、除四则整数运算,并能随时清除...
7.1.5 VARIANT数据类型 7.2 用MFC开发自动化组件——例程MFCSampleExe 7.2.1 创建最小的MFC自动化EXE工程 7.2.2 添加COM对象类、接口、属性和方法 7.2.3 在Excel中测试组件 7.3 用ATL开发自动化组件——例程...
VC++ MFC 经典教程 - 基础篇 1.CP_YourFirstWindowsProgram.mp4 10.MFC_GDI_画直线和曲线.mp4 11.MFC_GDI_画椭圆_多边形及其他形状.mp4 12.MFC_GDI_画笔和画刷.mp4 ...自动类型转换.mp4 47.动态创建对象...
本文既写了在Windows中怎样用VC控件MSComm,又说明了API技术编程方法,在写用MSComm控件时,数据类型的转换说得不是太明白,初次涉猎串口编程的朋友恐怕看了还是编不出来;直接从底层编写的部分值得一读,说得较为...
如何利用命名互斥保证只有一份程序实例被运行,结合多线程,网络编程,自定义消息,数据类型转换,如何改变文本框对回车的默认处理方式等技术编写网络聊天程序。 第十八课: 动态连接库程序的编写,库函数的两种输出...
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 赋值...
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 赋值...
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 赋值...
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 赋值...