VC++常见问题汇总(二)

(28)该怎样防止MFC在窗口标题栏上把文档名预置成应用程序名?在 PreCreateWindow 函 数 中 删 除 FWS_PREFIXTITLE 标 志 的 窗 口 样 式: cs.style&= ~FWS_PREFIXTITLE;

(29) 我应该怎样防止MFC在窗口标题栏上添加文档名?在 PreCreateWindow 函 数 中 删 除 FWS_ADDTOTITLE 标 志 的 窗 口 样 式: cs.style&= ~FWS_ADDTOTITLE ;

(30) 我应该如何改变视窗口的大小?因 为 视 窗 口 实 际 上 是 框 架 窗 口 的 子 窗 口,所以 你 必 须 改 变 框 架 窗 口 的 大 小,而 不 是 改 变 视 窗 口。使 用 CView 类中 的 GetParentFrame() 函 数 获 得 指 向 框 架 窗 口 的 指 针,然 后 调 用 MoveWindow() 函 数 来 改 变 框 架 的 大 小。这 会 使 变 尺 寸 的 视 充 满 框 架 窗 口。

(31) 我有一无模式对话框。我怎样才能在窗口退出时删除CDialog对象?把“delete this”加 到PostNcDestroy 中。这 主 要 用 在 需 要 自 动 删 除 对 象 的 场 合。

(32) 为什么把“delete this”放在PostNcDestroy中而不是OnNcDestroy?OnNcDestroy只 被 已 建 立 的 窗 口 调 用。如 果 建 立 窗 口 失 败 ( 如 PreCreateWindow ),则 没 有 窗 口 处 来 发 送WM_NCDESTROY 消 息。PostNcDestroy 是 在 对 象 窗 口 被 完 全删 除,在 OnNcDestroy 后,甚 至 在 窗 口 建 立 失 败 之 后 调 用 的。

(33):如何为一个MFC应用程序添加ODBC功能? (1)在文件Stdafx.h文件末尾添加下面一行: #include // MFC ODBC database classes (2)在文本模式下编辑RC文件(利用File->Open As text 方式) 在下面的程序行(共有两处) #include "l.chs\afxprint.rc" // printing/print previewresources 添加下一行: #include "l.chs\afxdb.rc" //Database resources

(34):数据库表修改后,如何快速更新一个绑定到表的CrecordSet记录集?利用ClassWizard 中 Member Variables标签下选中记录集类后,利用UpdateColoumns和Bind All。

 (35):怎么才能让窗口最大化显示啊? 我在框架的PreCreateWindow中 cs.styles|=WS_MAXIMIZE 不行啊, OnCreate中 SetWindowLong(m_hWnd,GWL_STYLE,WS_MAXIMIZE);也不行啊上面两种方法都不行,要是窗口最大化显示,应改变ShowWindow()的参数,在InitInstance()中将m_pMainWnd->ShowWindow(...)改为m_pMainWnd->ShowWindow(SW_SHOWMAXINIZE);就Ok

(36)怎么把别人程序中设计好的对话框放到自己的程序中??用VC打开自己的程序,选择资源视图;然后点FILE->OPEN菜单项,打开设计好的对话框的资源文件(后缀名为。RC),这里注意一定只打开后缀名为。RC的资源文件,然后在VC编辑器的文档区域就会有你刚打开的另一个程序的资源文件中资源的一个树型结构图,然后找到你要复制的对话框资源ID,鼠标左键按住ID号,然后拖放到资源视图中,这个时候你再看看自己程序的资源视图,是不是已经复制过来了。罗嗦了这么多,其实问题的关键是在一个编辑器中同时打开自己的项目和另一个项目的资源文件。

(37)[求助]急!!!关于installshield制作中的注册表问题 我用installshield 制作安装程序,怎样在注册表中写入用户单位的名称,请大家帮帮忙啊在InstallShield选择Resources,在其中的Registry Entry部分输入要添加的注册项 。

(38)VC6下如何对程序进行调试   在主菜单"Build"中,有一个Start Build的子菜单,它下面包含了Go菜单(快捷键为F5),选择后,程序将从当前语句进入调试运行,直到遇到断点或程序结束。将鼠标移动到要调试的代码行,单击鼠标右键选择“Insert/Remove Breakpoint”,或者按下F9,可以在该行上添加断点,此时断点代码行前面出现一个棕色的圈,再次选择将清除断点。进入调试状态后,Debug菜单将取代Build菜单出现在菜单栏中,它下面包含常用的调试操作,如Step Over,单步运行并不跟踪到调用的函数内部;其他还包括Step Into,Step Out, Stop Debugging等调试方法。

(39)简介对话框应用程序中UpdateData函数的作用及其参数含义与使用场合。  UpdateData只有一个BOOL类型的参数,UpdateData(FALSE)一般用于对话框控件连接的变量值刷新屏幕显示UpdateData(TRUE)用于获取屏幕数据到对话框控件连接的变量中

(40)、如何单击除了窗口标题栏以外的区域使窗口移动 当窗口需要确定鼠标位置时Windows向窗口发送WM_NCHITTEST信息,可以处理 该信息使Windows认为鼠标在窗口标题上。对于对话框和基于对话的应用程序,可以使用ClassWizard处理该信息并调用基类函数,如果函数返回HTCLIENT则表明 鼠标在客房区域,返回HTCAPTION表明鼠标在Windows的标题栏中。UINT CSampleDialog : : OnNcHitTest (Cpoint point ) { UINTnHitTest =Cdialog: : OnNcHitTest (point ); return (nHitTest = =HTCLIENT)?HTCAPTION : nHitTest ; } 上述技术有两点不利之处,其一是在窗口的客户区域双击时, 窗口将极大; 其二,它不适合包含几个视窗的主框窗口。还有一种方法,当用户按下鼠标左键使主框窗口认为鼠标在其窗口标题上,使用ClassWizard在视窗中处理WM_LBUTTODOWN信息并向主框窗口发送一个WM_NCLBUTTONDOWN信息和一个单击测试HTCAPTION。 void CSampleView : :OnLButtonDown (UINT nFlags , Cpoint point ) { CView : : OnLButtonDow (nFlags ,pont ); //Fool frame window into thinking somene clicked on its caption bar .GetParentFrame ( ) —> PostMessage ( WM_NCLBUTTONDOWN , HTCAPTION ,MAKELPARAM (poitn .x , point .y) ); } 该技术也适用于对话框和基于对的应用程序,只是不必调用CWnd : : GetParentFrame 。 void CSampleDialog: : OnLbuttonDown (UINT nFlags, Cpoint point ) { Cdialog : : OnLButtonDow(nFlags, goint ); //Fool dialog into thinking simeone clicked on its captionbar . PostMessage (WM_NCLBUTTONDOWN , HTCAPTION , MAKELPARM (point.x , point. y) )

 

(41) fatal error C1083: Cannot openprecompiled header file: /'Debug/v13_3.pch/':

No such file ordirectory

在网上搜集了一下,这个错误是预编译文件的设置造成的,有几种可以尝试的途径:

1)单独编译StdAfx.cpp

2)编译所有(即按Ctrl+F7)

3)在工程-设置-c++-最下面的工程选项里去掉××。pch文件

4)在工程-设置-c++-在分类里选择预编译头文件,选择自动使用预补偿页眉,或者选择不使用预补偿头

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值