MFC学习中遇到的小问题和解决方案

1
清除combox里面的内容
((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetContent();//消除现有所有内容
2
如何获取鼠标指针的位置
GetWindowRect 详情见657面 超市管理系统

3 如何获取combox下拉列表的索引;
int sel
getcursel;
getlbtext;

4 选中某行某列值并修改
SetItemText

5 单击选中listcontrol控件某行右键 添加一个菜单 并触发事件 (见该网页第15条记录)

http://visualcasm.blog.sohu.com/136554996.html

6 将excel 表格导入到数据库中

http://blog.csdn.net/primer_programer/article/details/2422118

7一些有用的VC6.0网站
http://www.vckbase.com/index.php/wenku/index

8 如何获取树的根节点和孩子节点

9 获取ListControl记录的条数
int nItem=m_list.GetItemCount();

10 字符串比较

CString::CompareNoCase

int CompareNoCase( LPCTSTR lpsz )
const;


返回值:
如果字符串是一样的(不区分大小写)则返回零值;如果CString对象小于lpsz(不区分大小写)则返回值小于0;
如果CString对象大于lpsz(不区分大小写)则返回值大于0
http://hi.baidu.com/xjknzmaykvbnuxd/item/37ee455822d9a311da163583

11 edite框动态移动
显示或隐藏
http://blog.csdn.net/einstein991225/article/details/7014925

http://blog.csdn.net/zhenhua10/article/details/5622497

12 设置表格背景颜色

void CTensionMeterDlg::change(NMHDR *pNmHdr, LRESULT
*pResult)
{
NMLVCUSTOMDRAW* pLVCD =
reinterpret_cast<NMLVCUSTOMDRAW*>( pNmHdr );

*pResult = CDRF_DODEFAULT;

if ( CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage )

{
*pResult = CDRF_NOTIFYITEMDRAW;
}
else if (
CDDS_ITEMPREPAINT == pLVCD->nmcd.dwDrawStage )
{
*pResult =
CDRF_NOTIFYSUBITEMDRAW;
}
else if ( (CDDS_ITEMPREPAINT |
CDDS_SUBITEM) == pLVCD->nmcd.dwDrawStage )
{
COLORREF
clrNewTextColor, clrNewBkColor;
int nItem =
static_cast<int>( pLVCD->nmcd.dwItemSpec );

//设置为黑色
clrNewTextColor = RGB( 0, 0, 0 );
//设置背景色
if(
nItem%2 ==0 )
{
clrNewBkColor = RGB( 240, 240, 240 );
//偶数行背景色为灰色
}
else
{
clrNewBkColor = RGB( 255, 255, 255
); //奇数行背景色为白色
}

CString
st;//状态
st=m_list.GetItemText(nItem,5);//获取处理项的status
if(st==strAlarmNotQueren)
{
// clrNewBkColor
= RGB(240, 240, 240);
// clrNewTextColor= RGB( 255, 64, 64
);
clrNewBkColor = RGB(255, 64,
64);//未响应报警为红色
GetDlgItem(IDC_LIST_H)->UpdateWindow();
}
else
if (st==strAlarmQueren)
{
clrNewBkColor = RGB( 117, 255,
255);//报警已响应为黄色
// clrNewBkColor = RGB( 255, 64, 64
);
// clrNewTextColor= RGB( 255, 64, 64
);
}
pLVCD->clrText =
clrNewTextColor;
pLVCD->clrTextBk = clrNewBkColor;
*pResult =
CDRF_DODEFAULT;
}
UpdateData(false);
}

13
将listcontrol导出到EXCEL中
http://hi.baidu.com/rtcore/item/7be175caac4abf3198b4989e

http://blog.csdn.net/luvnn/article/details/8082283

http://blog.csdn.net/wang_cong0214/article/details/8508439

MFC学习中遇到的小问题和解决方案,布布扣,bubuko.com

时间: 2025-01-01 21:20:57

MFC学习中遇到的小问题和解决方案的相关文章

工作学习中的一些小的收获(持续更新)

1. 使用extern在动态库和主函数中共享变量,设置条件等,两种情况 A. 动态库中定义,主函数文件中声明 B. 与A相反,但是这个时候需要加上 -W1 --export-dynamic编译选项,否则会报链接错误 2. 如果一个类型的定义被用typedef 隐藏起来了(一般是个结构体指针),两种情况: A. 定义这个这个类型的.c文件能看到,这时候如果想用这个类型的成员变量,可以把声明定义部分挪到.h头文件中,并根据编译情况,调整相 应的依赖情况 B. 如果c文件都被闭源了(只提供h和lib)

java学习中,object 对象的使用(toString、equals、hashCode)(java 学习中的小记录)

java学习中,object 对象的使用(java 学习中的小记录)作者:王可利(Star·星星) object 对象(参考API学习) 重点掌握三个方法: 1.toString 返回该对象的字符串表示. 2.equals(object obj)指示其他某个对象是否与这个对象相等. 3.hashCode() 返回对象的哈希码. 详见代码的注释分析(一个是Person类重写方法,一个是Star类使用方法) Star类代码: 1 package study; 2 3 public class sta

R语言学习中的小bug:R中矩阵相乘错误于A %*% B: 需要数值/复数矩阵/矢量参数

遇到了小bug: R中矩阵相乘错误于A %*% B: 需要数值/复数矩阵/矢量参数 看到网上别人的做法,发现了用class(A)和class(B)之后才发现,是因为读入的时候数据的类型不对,A.B的类型并不是matrix,才导致了这个问题. 用as.matrix来变型一下,就OK了. R语言学习中的小bug:R中矩阵相乘错误于A %*% B: 需要数值/复数矩阵/矢量参数,布布扣,bubuko.com

java学习中,成员内部类、匿名内部类(java 学习中的小记录)

java学习中,成员内部类.匿名内部类(java 学习中的小记录)作者:王可利(Star·星星) 内部类: 一个类中定义另外一个类,这样的类叫内部类. 内部类的文件名:外部类名$内部类名.class    内部类分两种: 1.成员内部类 如何访问成员内部类:             方式1:外部类中定义一个方法来创建内部类对象,再通过对象进行访问.             方式2:可以直接在其他类中直接创建内部类这个对象,通过对象访问.用点语.                       格式:

Java 需要记得、了解的关键词 (Java 学习中的小记录)

Java 需要记得.了解的关键词 (Java 学习中的小记录)     作者:王可利(Star·星星) 总结:本次随笔,仅且拿来平时翻阅记忆用

java学习中,异常和错误的简介、捕获异常、抛出异常、自定义异常(java 学习中的小记录)

java学习中,异常和错误的简介.捕获异常.抛出异常.自定义异常(java 学习中的小记录)作者:王可利(Star·星星) 异常:(API 的 java.lang 有一个异常,有很多很多) 在Java程序中也会程序出现不正常的情况,这个就叫异常.     Java是面向对象的语言,任何事物都可以用类来描述,同样的异常也是一种事物.Java中提供了很多的异常类.     多个异常堆积起来,就是一个异常体系.   Throwable:是异常类的父类,超类.Exception 异常.error错误.

java学习中,匿名函数、构造方法、构造代码块、构造方法中调用构造方法(java 学习中的小记录)

java学习中,匿名函数.构造方法.构造代码块.构造方法中调用构造方法(java 学习中的小记录) 作者:王可利(Star·星星) 匿名函数 匿名对象:没有名字的对象 匿名对象使用的注意点: 1.一般不会用匿名对象给属性赋值,无法获取属性值,每次new 都是一个新的对象. 2.匿名对象永远都不可能是一个对象. 如:person new().name = "星星":是不行的 匿名对象的好处:书写简单. 匿名对象使用的场景: 1.如果一个对象调用一个方法一次的时候,就可以用匿名对象来调用.

Java 打印金字塔 or 打印带数字的金字塔 (Java 学习中的小记录)

Java 打印金字塔 or 打印带数字的金字塔 (Java 学习中的小记录) 作者:王可利(Star·星星) 效果图: 代码如下: 1 class Star8 2 { 3 public static void main(String[] args) 4 { 5 /* 空格 6 * 1 2*i-1 3 4-1 4-i 7 *** 3 2 4-2 8 ***** 5 1 4-3 9 ******* 7 0 4-4 10 */ 11 //第一层循环控制的是行数 12 for(int i = 1;i<=

java学习中,面向对象的三大特性:封装、继承、多态 以及 super关键字和方法的重写(java 学习中的小记录)

java学习中,面向对象的三大特性:封装.继承.多态 以及 super关键字和方法的重写(java 学习中的小记录) 作者:王可利(Star·星星) 封装     权限修饰符:public 公共的,private 私有的     封装的步骤:          1.使用private 修饰需要封装的成员变量.          2.提供一个公开的方法设置或者访问私有的属性              设置 通过set方法,命名格式:     set属性名();  属性的首字母要大写 访问 通过ge