关于VC的几个小问题(很菜)?

时间:2022-01-28 01:01:11
1、如何动态使控件DISABLE。
2、有什么比较好的控件可以显示数据库中的数据?我用DATAGRID控件,在给它
定义了个变量后,为什么多出许多类(font,columns等等)。
3、debug文件夹中为何有个文件(*.pch)那么大。
4、VC里有显示时间的控件么?

8 个解决方案

#1


1、首先用GetDlgItem或者其他方法获得控件的指针,然后(假设是pWnd):
pWnd->EnableWindow(FALSE);
2、可以用CRecordView
3、这个文件是预编译文件,加快以后的编译速度。
4、肯定有,比如:Activex控件

#2


1. 得到控件的针
如: CEdit* pWnd=(CEdit*)GetDlgItem(IDC_EDIT);
    pWnd->EnableWindow(FALSE);

3. PCH文件是预编译头文件(precomplied header), 按MSDN的说法,是对编译器进行一次快照,我也不是很理解其确切含义,看其它大虾怎么说吧。看一下project/setting里面,可找到和它相关的几条编译参数,如:/Fp"…….pch" 是指定其路径的,单独看stdafx.cpp文件的C\C++属性,里面有Project Settings, and /Yc"stdafx.h"  ,其中/Yc 说明在编译此文件时生成pch文件。 而整个工程的属性(也就是Project settings)中则用/Yu,表示编译时使用pch文件。

该文件只在编译时有用。

4. 有个Date Time Picker控件(就在控件工具栏上),可以用用,样子不好看,可能不合你的要求——当然它不能自己随着系统时间变化,得设个定时器。

#3


其实对于一般数据不大的显示,可以使用ListCtrl控件进行显示,把数据库中记录读取出来后,再一条一条的添加到ListCtrl中去,而且显示效果也很好看,如果使用数据控件,将增加很多垃圾类,而且功能也不好。如果你要求一条一条的浏览记录,可以使用CRecordView,这显得有点老士。

#4


2、我这个程序要查的数据太多,所以想找个一下子显示好多条记录的控件,DBGrid可以么?
3、那么如果我要把我的源程序移动到另一台机子上,移过去后还是要编译的,
可以不要这个文件么?
4、DateTimePicker好像不能显示Time,只有Date,还是我不会用?
多谢多谢

#5


1.可用控件的控制变量调用窗口函数ShowWindow(FALSE);
2.我常用的是CListCtrl控件;
4.现实时间的控件可用vc++6.0提供的ActiveX控件;自己做三个编辑框用于显示时间也非常简单显示所用时间可用CTime类的GetCurrenTime()获得,在调用GetDay(),GetYear(),GetSecond()
等函数可获得相应的字符串;

#6


DateTimePicker好像不能显示Time,只有Date????:在属性的Style的Format,看到了吧!, 不过只能显示Data或Time其中的一个,不能同时显示Date+Time。

#7


我想我勿须动嘴啦。

#8


呵呵,我好菜。1、4搞定。我想加分。
那么源程序移动到另一台机子上,那个 .pch文件不要可以么?

#1


1、首先用GetDlgItem或者其他方法获得控件的指针,然后(假设是pWnd):
pWnd->EnableWindow(FALSE);
2、可以用CRecordView
3、这个文件是预编译文件,加快以后的编译速度。
4、肯定有,比如:Activex控件

#2


1. 得到控件的针
如: CEdit* pWnd=(CEdit*)GetDlgItem(IDC_EDIT);
    pWnd->EnableWindow(FALSE);

3. PCH文件是预编译头文件(precomplied header), 按MSDN的说法,是对编译器进行一次快照,我也不是很理解其确切含义,看其它大虾怎么说吧。看一下project/setting里面,可找到和它相关的几条编译参数,如:/Fp"…….pch" 是指定其路径的,单独看stdafx.cpp文件的C\C++属性,里面有Project Settings, and /Yc"stdafx.h"  ,其中/Yc 说明在编译此文件时生成pch文件。 而整个工程的属性(也就是Project settings)中则用/Yu,表示编译时使用pch文件。

该文件只在编译时有用。

4. 有个Date Time Picker控件(就在控件工具栏上),可以用用,样子不好看,可能不合你的要求——当然它不能自己随着系统时间变化,得设个定时器。

#3


其实对于一般数据不大的显示,可以使用ListCtrl控件进行显示,把数据库中记录读取出来后,再一条一条的添加到ListCtrl中去,而且显示效果也很好看,如果使用数据控件,将增加很多垃圾类,而且功能也不好。如果你要求一条一条的浏览记录,可以使用CRecordView,这显得有点老士。

#4


2、我这个程序要查的数据太多,所以想找个一下子显示好多条记录的控件,DBGrid可以么?
3、那么如果我要把我的源程序移动到另一台机子上,移过去后还是要编译的,
可以不要这个文件么?
4、DateTimePicker好像不能显示Time,只有Date,还是我不会用?
多谢多谢

#5


1.可用控件的控制变量调用窗口函数ShowWindow(FALSE);
2.我常用的是CListCtrl控件;
4.现实时间的控件可用vc++6.0提供的ActiveX控件;自己做三个编辑框用于显示时间也非常简单显示所用时间可用CTime类的GetCurrenTime()获得,在调用GetDay(),GetYear(),GetSecond()
等函数可获得相应的字符串;

#6


DateTimePicker好像不能显示Time,只有Date????:在属性的Style的Format,看到了吧!, 不过只能显示Data或Time其中的一个,不能同时显示Date+Time。

#7


我想我勿须动嘴啦。

#8


呵呵,我好菜。1、4搞定。我想加分。
那么源程序移动到另一台机子上,那个 .pch文件不要可以么?