您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > VC++60的使用以及编程技巧整理
VC++6.0的使用以及编程技巧整理(2007-11-1818:35:00)1、MDI子窗口一启动就最大化BOOLCChildFrame::PreCreateWindow(CREATESTRUCT&cs){//TODO:ModifytheWindowclassorstylesherebymodifying//theCREATESTRUCTcscs.style=WS_CHILD|WS_VISIBLE|WS_OVERLAPPEDWINDOW|WS_MAXIMIZE;if(!CMDIChildWnd::PreCreateWindow(cs))returnFALSE;returnTRUE;}2、主窗口最大化:在InitStance函数中设定m_nCmdShow的取值.m_nCmdShow=SW_SHOWMAXIMIZED;if(!ProcessShellCommand(cmdInfo))returnFALSE;MDI窗口:重载MDIWindow的PreCreateWindow函数,设置WS_MAXIMIZE文档一生成就最大化:在视类重载的OnInitUpdate成员函数中加上:CMDIChildWnd*pWnd=(CMDIChildWnd*)GetParentFrame();pWnd-MDIMaximize();3、设置多文档的标题设置标题在如下两个函数BOOLCTOLLGATE_OF_CITYDoc::OnNewDocument(){if(!CDocument::OnNewDocument())returnFALSE;SetTitle(你的文档名);returnTRUE;}BOOLCMainFrame::PreCreateWindow(CREATESTRUCT&cs){if(!CFrameWnd::PreCreateWindow(cs))returnFALSE;m_strTitle=标题;returnTRUE;}4mdi怎样可以使启动程序时不打开子窗口?在应用程序的初始化函数InitInstance中的CcommandLineInfocmdInfo;语句后加入:cmdInfo.m_nShellCommand=CCommandLineInfo::FileNothing;(要尤氲拇耄?ParseCommandLine(cmdInfo);(该句已有,不用加)即可。是CWinApp类中的函数5怎样单击窗体任何位置就可移动窗体加上左键按下消息voidCXXXDlg::OnLButtonDown(UINTnFlags,CPointpoint){//加上下面这句话PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,point.y));CDialog::OnLButtonDown(nFlags,point);}6VC下用ADO连接ORACLE数据库Oracle公司提供的连接方式:使用标准安全级别:strConnect=_T(Provider=OraOLEDB.Oracle;DataSource=MyOracleDB;UserId=myUsername;Password=myPassword;);使用信任连接1.strConnect=_T(Provider=OraOLEDB.Oracle;DataSource=MyOracleDB;UserId=/;Password=;);UID为'/'2.strConnect=_T(Provider=OraOLEDB.Oracle;DataSource=MyOracleDB;OSAuthent=1;);使用OSAuthent=1对于连接字符串可以参考以下网页:=/library/en-us/ado270/htm/mdreforacleprovspec.asp?frame=true===ODBC配置数据源strConnect=_T(DSN=ADOTest);编程小技巧去掉单文档的“无标题”if(!CFrameWnd::PreCreateWindow(cs))returnFALSE;//TODO:ModifytheWindowclassorstylesherebymodifying//theCREATESTRUCTcscs.style&=~FWS_ADDTOTITLE;VC编程做个超级链接的文本按钮下利用ADO连接Access数据库语句VC中的分行pcmd-CommandText=SELECT*\FROMOrderTableWHEREOrderID=?;各种类型转换常用数据类型使用转换详解转intatoiCStringtodoubleCstring与doublechar的转换四舍五入int(num+0.5)%.2f查询Excel表要用$结尾不然找不到select*FROM[Stockpool$]数据库表中字段含有括号的话用中括号括起来表示特殊字符例如[EPS(T+1)]CListCtrl使用技巧打开网页文件ShellExecute(hWnd,open,ieexplorer,CString(file://)+filename+CString(#a1),NULL,SW_SHOWNORMAL);深入浅出ShellExecute中时间字段的查询:Time#2007-12-0300:00:00#VC窗口自由的调整大小的实现://用VC++获取系统时间几种方法CTime:%Y%m%d%h%M%S年月日时分秒就用CTime::GetDayOfWeek()orCOleDateTime::::GetDayOfWeek()啊,他返回一个int,如果返回值是1就说明是星期天,如果是2表示星期一...如果是7表示星期六(每个星期的第一天是星期天)A:1使用time_ttime(time_t*timer)精确到秒计算时间差使用doubledifftime(time_ttimer1,time_ttimer0)2使用clock_tclock()得到的是CPU时间精确到1/CLOCKS_PER_SEC秒3使用DWORDGetTickCount()得到的是系统运行的时间精确到毫秒4如果使用MFC的CTime类,可以用CTime::GetCurrentTime()精确到秒5要获取高精度时间,可以使用BOOLQueryPerformanceFrequency(LARGE_INTEGER*lpFrequency)获取系统的计数器的频率BOOLQueryPerformanceCounter(LARGE_INTEGER*lpPerformanceCount)获取计数器的值然后用两次计数器的差除以Frequency就得到时间。6还有David的文章中提到的方法:MultimediaTimerFunctionsThefollowingfunctionsareusedwithmultimediatimers.timeBeginPeriod/timeEndPeriod/timeGetDevCaps/timeGetSystemTimetimeGetTime/timeKillEvent/TimeProc/timeSetEvent精度很高Q:GetTickCount()函数,说是毫秒记数,是真的吗,还是精确到55毫秒?A:GetTickCount()和GetCurrentTime()都只精确到55ms(1个tick就是55ms)。如果要精确到毫秒,应该使用timeGetTime函数或QueryPerformanceCounter函数。具体例子可以参考QA001022VC++中使用高精度定时器、QA001813如何在Windows实现准确的定时和QA004842timeGetTime函数延时不准。Q:vc++怎样获取系统时间,返回值是什么类型的变量呢?GetSystemTime返回的是格林威志标准时间GetLocalTime,和上面用法一样,返回的是你所在地区的时间,中国返回的是北京时间VOIDGetSystemTime(LPSYSTEMTIMElpSystemTime//addressofsystemtimestructure);函数就可以获得了,其中LPSYSTEMTIME是个结构体含:年,月,日,周几,小时,分,秒,毫秒。Disable一个控件:GetDlgItem(IDC_BUTTON1)-EnableWindow(FALSE);VC中如何发布Release版本工具栏上点右键,选择编译,将编译win32debug改为win32Release即可。如果需要调试的话,还需要再改回来方可VC程序可以再其它机子上运行:你的目标程序需要动态链接库文件的支持,把程序中用到的DLL文件放到程序的目录下就可以运行了。project-setting-General-下拉框中选择UseMFCinaStaticLibrary”第一:private,public,protected访问标号的访问范围。private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。但不能被该类的对象访问。public:可以被1.该类中的函数、2.子类的函数、3.其友元函数访问,也可以由4.该类的对象访问。注:友元函数包括3种:设为友元的普通的非成员函数;设为友元的其他类的成员函数;设为友元类中的所有成员函数。第二:类的继承后方法属性变化。private属性不能够被继承。使用private继承,父类的protected和public属性在子类中变为private;使用protected继承,父类的protected和public属性在子类中变为protected;使用public继承,父类中的protected和public属性不发生改变;如下所示:public:protected:private:public继承publicprotected不可用protected继承protectedprotected不可用private继承privateprivate不可用protected继承和private继承能降低访问权限。CTimeCOleDateTime的常用操作和比较百分号的表示用%%表示%,或者CStrngstr;str.format(select*fromNamewhereaddresslike%sabc%s,%,%);viewform.cppline69错误:应该把dialog改为child。取消所有断点edit-breakpoi
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:VC++60的使用以及编程技巧整理
链接地址:https://www.777doc.com/doc-2866189 .html