标题:抛体运动
只看楼主
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
那个Border只是“规范”小球运动范围的方框(规范带引号是因为我没有写区域裁剪代码),不是改变cmd窗口尺寸的。这个程序是从我早前在坛上发过的某个程序中拿过来改的,故有同样的框框和函数,之前那个把框框画了出来(也有一条坐标轴),现在没有画而已。DrawText()的文字输出是在rect矩形范围之内,而我这个代码的rect是摆在Border框下面的。整个构图应该局限在cmd窗口尺寸之内,没有代码用于改变这个窗口的尺寸。

原先那个图是这样的:


[ 本帖最后由 TonyDeng 于 2012-4-18 21:45 编辑 ]

授人以渔,不授人以鱼。
2012-04-18 21:40
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
得分:0 
也就是说还需要添加一些代码 以便改变边框 显示文字?能否给个整代码邮箱bccn_yrjd@

梅尚程荀
马谭杨奚







                                                       
2012-04-18 21:44
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
要改变cmd窗口的尺寸,取这个窗口的Form句柄调相应的API来改,这个我没有现成的代码,你自己摸索一下吧。我现在给的这些,只是提供一个方向,不可能什么都替你做好。

授人以渔,不授人以鱼。
2012-04-18 21:49
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
得分:0 
回复 43楼 TonyDeng
这样啊  好的。

貌似从WIN32 APPLICATION 转到 CONSOLE 下还有好些东西不一样。

梅尚程荀
马谭杨奚







                                                       
2012-04-18 21:53
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
编程的机制都不一样,不然VC编译器不用区分两种链接方式了。现在只不过Windows下的cmd控制台其实是用Form模拟出来的,在逻辑上有区别,但终究有相关联系,编程时偷巧,可以突破理论去改变控制台尺寸——原则上是不应该这样做的,因为控制台的逻辑基础就是以前的DOS,显示模式一旦设定,整个画面的尺寸就确定了,无法像现在窗体那样可以在边界之外画图的,要画也只能另外开辟映射内存切换,全部要自己做,不像现在Form机制那样可以把框框移来移去显示边界之外的东西,Win Form的方便,是把这些本来要自己处理的东西替你做了。

也正因为基于这样的守则,所以我才要使用Scale这样的缩放系数,想镜头一样把图像拉近或推远,使图像恰好放置在绘图区内,不至太大或太小。对某些特殊的图线,还需要纵横不同的缩放系数来迁就视觉。

[ 本帖最后由 TonyDeng 于 2012-4-18 22:14 编辑 ]

授人以渔,不授人以鱼。
2012-04-18 22:01
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
得分:0 
回复 25楼 有容就大
最后两张图路径添加错了,是vc98\sdk\include 和vc98\sdk\lib!
不是vc98\include.

我们都在路上。。。。。
2012-04-19 10:07
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
得分:0 
回复 46楼 hellovfp
重新更新了一遍 换成D:\program file\PSDK\VC98\SDK\Include和D:\program file\PSDK\VC98\SDK\Lib还是不成功.莫非是系统环境变量设置有问题?
要设置classpath吗?


[ 本帖最后由 有容就大 于 2012-4-19 11:07 编辑 ]

梅尚程荀
马谭杨奚







                                                       
2012-04-19 11:05
你们都要疼我哦
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:火星
等 级:贵宾
威 望:49
帖 子:1296
专家分:2746
注 册:2008-7-13
得分:0 
还在用vc6呀,换vs2005吧,功能全速度快有营养加个VAX万事无忧。

小妹,哥哥看你骨骼清奇,绝非凡人,将来必成大业,不如这样,你先把裤裤脱了,待哥哥为你开启灵窍,然后我们一起努力钻研如何
2012-04-19 11:11
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
得分:0 
回复 48楼 你们都要疼我哦
呵呵 有VS2010放着壮胆呢

梅尚程荀
马谭杨奚







                                                       
2012-04-19 11:22
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
得分:0 
回复 47楼 有容就大
可能和你原来的安装的vc有冲突。。。
如果你原机器上还安装有一个vc6,你可以运行老的vc,然后按最后两张图添加路径的办法,把psdk\vc98\sdk\include路径添加进去,然后把该路径移动到最上面(按对话框里上下移动键),不移动上去,编译还是用的老sdk。lib也是一样。

如果你需要使用这个新的vc6,(不叫psdk啦,其实就是vc6+更新sdk英文版),而放弃原先安装的vc6。
你可以进注册表(运行--regedit),找到HKEY_CURRENT_USER\Software\Microsoft\DevStudio,把DevStudio这个夹全删除了,这个夹在运行msdev.exe会自动重建,然后按最后两张图添加路径就可以了,不用移动先后顺序。

解释一下偶在T版程序添加的内容与这个SDK之间的关系:
#define UNICODE
#define _UNICODE    //这两句是指定使用UNICODE编码支持,T版程序中const WCHAR msg[] = L"按<Enter>键结束程序";这句有UNICODE 宽字符串.

#define _WIN32_WINNT 0x0501
#define WINVER 0x501 //这两句就是指定要使用新的SDK,你编译中未通过的那个API函数就是通过这两个宏就可以使用。其它还有很多的老SDK不支持的函数,如透明窗体API SetLayeredWindowAttributes,这些都是通过这两个宏既可使用。

我们都在路上。。。。。
2012-04-19 11:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-365998-1-1.html




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

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