2012-07-09 07:27
⁄ 工业·编程
⁄ 共 1455字
在使用VC开发软件的过程中,正当要享受那种兴奋的时候突然发现:release与debug运行结果不一致,甚至出错,而release又不方便调试,真的是当头一棒啊,可是疼归疼,问题总要解决,下面将讲述一下我的几点经验,看看是不是其中之一: 1. 变量。 大家都知道,debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc(注1),而release的赋值近似于随机(我想是直接从内存中分配的...
VC阅读全文
2012-07-09 07:18
⁄ 工业·编程
⁄ 共 2481字
设置控件颜色的主要目的是为了解决控件文字背景色不透明的问题。当向一个有背景色的界面上放置控件后,由于控件文字的背景色与界面背景色不符,使文字背后留下难看的灰块。现在我定义了可设置背景色和前景色的控件,只要使控件背景色与界面背景色相同,问题就解决了。
设置控件颜色和字体时必须重载该控件对应的类,在其中加入相关的颜色控制和字体函数。各种控件的做法完全相同,只是重载的类不一样。
注:对于静态文本控件(S...
VC阅读全文
2012-07-09 07:14
⁄ 工业·编程
⁄ 共 3459字
如何获取程序所在的路径
也就是获取你这个程序本身所在的路径。
在应用程序类CxxApp的头文件中定义一个变量CString m_exePath;用来放置程序的路径名,在应用程序类CxxApp的InitInstance()函数中加入如下语句:
TCHAR m_Path[MAX_PATH]; GetModuleFileName( NULL, m_Path, MAX_PATH ); //获取程序路径(包括程序名) int i = 0, j; while( m_Path[i]!=0 ) { if( m_Path[i]=='\\' ) ...
VC阅读全文
2012-07-09 07:12
⁄ 工业·编程
⁄ 共 3087字
如何隐藏和显示控件
用CWnd类的函数BOOL ShowWindow(int nCmdShow)可以隐藏或显示一个控件。
例1: CWnd *pWnd; pWnd = GetDlgItem( IDC_EDIT1 ); //获取控件指针,IDC_EDIT为控件ID号 pWnd->ShowWindow( SW_HIDE ); //隐藏控件
例2: CWnd *pWnd; pWnd = GetDlgItem( IDC_EDIT1 ); //获取控件指针,IDC_EDIT为控件ID号 pWnd->ShowWindow( SW_SHOW ); &...
VC阅读全文
2012-07-09 07:09
⁄ 工业·编程
⁄ 共 885字
Debug模式和Release模式
早就发现用VC编译出来的.exe文件比用Turbo C编译出来的文件大了许多,于是就认为VC编译时一定加了很多没用的东西,记得当时还做过把VC自动生成的项目中自认为没用的函数都删掉的傻事。后来才从网上的文章中了解到还有编译模式一说。
Debug模式是用来调试用的,它生成的执行文件中含有大量调试信息,所以很大;
Release模式生成的执行文件消除了这些调试信息,可用来作为成品发布。
默认情况下是Debug模...
VC阅读全文
2012-07-09 07:04
⁄ 工业·编程
⁄ 共 326字
error C2146: syntax error : missing ';' before identifier ……
如果出现这个错误且错误数目很多,通常并不是缺失了分号引起的,而是忘记了添加某头文件引起的。
最常见的是新加入了对话框,然后用它的类定义了一个对象,再编译出现上面的错误。
解决方法是在引用新类的文件中加入#include "类名.h",再编译,错误消失。
fatal error C1010: unexpected end of file while looking for precompiled header directive...
VC阅读全文
2012-07-09 07:02
⁄ 工业·编程
⁄ 共 2549字
编辑代码时,跟随提示消失了怎么办?
单击“工具”(Tools)菜单中的“设置”(Options)菜单项,在弹出的Options对话框中选择Editor制表页,把它最下方的四个复选框都选中(Auto list member、Auto type info、Code comments、Auto parameter info),这样,当用户输入“->”或“.”时,会自动显示跟随提示,减少了输入负担。
如何修改对话框的背景色
在对话框的OnPaint()函数中加入下面语句:
CRect rect; GetClientRect(&rect);...
VC阅读全文
2012-07-09 07:01
⁄ 工业·编程
⁄ 共 1301字
如何干净的删除一个类?
1、先删除项目中对应的.h和.cpp文件,(选中后用Delete键删除) 2、保存后退出项目,到文件夹中删除实际的.h和.cpp文件; 3、删除.clw文件; 4、重新进入项目,进行全部重建(rebuild all)。
如何建立一个新类?
从“插入”(Insert)菜单中选择“新建类”(New Class),在弹出的对话框中选择基类(Base class),在Name中输入新类的名字(一般都以C开头)即可。
如果想要建立一个没有基类的自定义类,...
VC阅读全文
2012-07-09 06:56
⁄ 工业·编程
⁄ 共 1998字
让窗口一启动就最大化
把应用程序类(CxxxApp)的 InitInstance() 函数中的 m_pMainWnd->ShowWindow(SW_SHOW); 改为 m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED); 则窗口一启动就最大化显示。
如何设置窗口的初始尺寸
在将应用程序类(CxxAPP)的 InitInstance() 函数中加入: m_pMainWnd->SetWindowPos(NULL,x,y,Width,Height,SWP_NOMOVE); Width为窗口宽度,Heig...
VC阅读全文
2012-07-09 06:53
⁄ 工业·编程
⁄ 共 7700字
动态控件是指在运行中由Create()创建的控件,这与预先在对话框中放置的控件是不同的。
一、创建动态控件:
为了对照,我们先来看一下静态控件的创建。
放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示。
静态控件不需要调用Create()函数来创建。
而创...
VC阅读全文