几个注意点及易犯错误

对于模态对话框,调用其 DoModal函数显示,按OK或Cancel按钮关闭对话框,并作相应数据处理。对于非模态对话框,调用Create函数创建并显示对话框,用DestroyWindow关闭对话框。对话框变量成员一般定义成public访问权限,因此可以在使用对话框的地方初始化。
1、局部变量未初始化的话值未知,全局的话是 0;char 字符初始化NULL;初始化char Attr[]={'1','2','3'};初始化字符串时可以写做char a[10]="123";也可以写作char a[10]={"123"};2、system("pause"):这个函数只是用来使程序暂停执行,在cmd窗口中表现为显示“按任意键继续…”这几个字符,当用户按下键盘后程序会继续执行。
当运用使用VS2005或者VS2008编译器编译C语言时,生成的程序执行完成马上就会自己关闭cmd窗口,用户看不到最终运算结果,加上这样一个函数在return语句之前,cmd窗口就会显示“按任意键继续…”,并保持窗口打开,从而用户就可以看到程序运行结果,直到按下键盘后程序继续执行,窗口自行关闭。
3、若有这一句代码:CView::OnLButtonDown(nFlags, point); 后果就是当有WM_LBUTTONDOWN消息的时候它只会执行MessageBox("View Clicked!"); 而系统一些默认下的LBUTTONDOWN操作不会被执行,如果你了解switch语句的话,应该知道它有个default,CView::OnLButtonDown(nFlags, point);和default性质一样,它把你处理过的WM_LBUTTONDOWN消息传递给那些还能处理这样消息的处理函数。
4、在绘图时,用OnPaint和OnDraw都可以,但是OnPaint最后也要调用OnDraw,因此我们一般会在OnDraw函数中进行绘制。
5、贴图会覆盖下面图形,处理方法是可以加载两个位图,在设置两次对象,贴两次即可。
6、出现Debug Assertion Failed 错误时,可能是使用了野指针,比如某个指针指向一个局部变量,而在该变量作用域外使用该指针引用了该对象。
Assertion 是断言,用于假定某个条件肯定会满足,在debug模式下,当该条件不满足时则发生阻塞而弹出该对话框;在release下会忽略断言。
7、在定义类时不能定义对象。把类中的数据成员以及成员变量均放在类的定义中,这样用的时候只要用对象调用即可,就不会出现由于是局部变量而出现全局调用而出现的断言错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值