| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2897 人关注过本帖
标题:写了个win32基础的窗口 有些问题请教大牛们
只看楼主 加入收藏
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
嗯 是用VC写的
用static 有什么缺陷和漏洞吗?

[ 本帖最后由 有容就大 于 2012-5-4 08:32 编辑 ]

梅尚程荀
马谭杨奚







                                                       
2012-05-04 08:26
zanzan1986
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:100
专家分:140
注 册:2011-2-22
收藏
得分:0 
回复 11楼 有容就大
你要的是一个编辑框,如果用"static"类来注册,我认为系统会以静态文本的风格来给你注册编辑框窗口,当你的编辑框窗口不需要处理的消息时系统会把消息错误的交给静态文本的过程函数,而不是交给编辑框过程函数。你想想这有多么可怕吧!!!!
2012-05-04 08:54
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 12楼 zanzan1986
^^^^^^^^^^^^^^^^^

梅尚程荀
马谭杨奚







                                                       
2012-05-04 09:44
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
第一段程序有二个地方有问题:

     SetTimer(hWnd, 1, 1000, NULL); //resource leak!!! no KillTimer function invoke!!!
     return TRUE;
}

// Destroy Window

#pragma argsused
void yrjd_OnDestroy(HWND hWnd)
{
    DeleteBitmap(hResource); //if use custom resource , not need any function to free it, windows system will auto free it when quit program.
    PostQuitMessage(0);
}

没有使用缓冲法,用InvalidateRect会产生闪烁的,再读读偶那个多线程的代码?或是小赵那个帖子里偶的代码,体会一下为什么要使用CreateCompatibleDC创建一个缓冲DC。偶先不说答案。
掌握这个技术以后对于你进行显示动画GIF是有帮助的。

我们都在路上。。。。。
2012-05-04 11:40
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
程序中#pragma warning (disable:4100) // Please think about these two sentences 是没有用的代码。
上一个主要是使用#pragma argsused 产生的警告。

至于为什么用static,静态的意思。。。这个问题也曾困扰过偶,经常在老外的项目中看到用这个。
不过偶然在在一本书里找到了答案,static定义使用变量或是函数,可以让它们处在一个文件作用范围内,有且只有一份内存数据。
有利于C隐藏封装实现。类名,实例句柄这些一般在程序中只有唯一的一个存在,所以定义成static。

我们都在路上。。。。。
2012-05-04 11:53
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
代码规范整体上感觉还是不错的,注释和适当的行非常好,这点比小鱼兄一年前早期的代码好,偶记得你以前写的那个学生管理程序代码好象很乱。
WM_PAINT事件里的choose那里可使用switch语句的,hPrevInstance 这个参数在后面的Win2000,XP, 2003以后都没有用了。

多多练习吧,呵呵。。。偶这里还有好多的经典书等着你呢..
上个图:
图片附件: 游客没有浏览图片的权限,请 登录注册

我们都在路上。。。。。
2012-05-04 12:02
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
KillTimer()我在后面改的加上去了
还不知道system will auto free 'custom' style resource.

谢谢大哥说的这些 我去研究下你跟小赵兄刚改的那个程序。

梅尚程荀
马谭杨奚







                                                       
2012-05-04 12:03
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 16楼 hellovfp
还不是你给我的那本书教了我很多啊

哈哈 一本本来a.
 
I'll study harder.

梅尚程荀
马谭杨奚







                                                       
2012-05-04 12:06
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
回复 18楼 有容就大
对了,还有一个关于vc6项目文件的问题,你发的第一个包里面缺少最重要的dsp文件,
没有dsw文件没有关系,双击dsp时vc会自动重建,缺少dsp文件的话,有些项目配置参数会因为缺少而无法编译。
所以一般来说要提供这两个文件。对于vs来说需要提供sln和dsp文件。

我们都在路上。。。。。
2012-05-04 12:16
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 19楼 hellovfp
哦 对这个不清楚 现在知道了。

梅尚程荀
马谭杨奚







                                                       
2012-05-04 12:19
快速回复:写了个win32基础的窗口 有些问题请教大牛们
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012833 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved