7056|24

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

EVC简单问题 [复制链接]

这个问题真的很雷人,对很多人来说,这个是非常弱智的问题。但是对我这个应用菜鸟却很难,不知道如何下手。

在网上找到一些信息,可以使用如下函数实现。

MoveWindow(0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN));



我加入到OnInitDialog果然使窗口和屏幕大小一致了,可是并不是自己要的效果。如下图。


产生问题一、虽然窗口变大了,但是好像控件的大小,比如按钮等并没有变化,位置还在原来的位置,应用程序只是在下方填充了空白的窗口,这样造成程序很难看。我很少写应用,请大家帮忙一下。指点一二。

产生问题二、点击状态栏和桌面,这个应用程序并不会最小化,其实本来不加也不会最小化,请问各位达人,如何做到最小化?

原始程序窗口是这样的。

最新回复

用MOVEWINDOW  详情 回复 发表于 2010-6-9 10:06
点赞 关注

回复
举报

2

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
1 控件的尺寸和位置要根据窗体的变化而变化,需要代码实现;

2 最小化 要在资源文件的属性中添加
 
 

回复

2

帖子

0

TA的资源

禁止访问

板凳
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

4
 
多谢。我看一些书咋没有讲到呢?

这个和VC的MFC 操作方法一致吗?

我用EVC都是些测试的,只是追求自然,不要求很炫那种就可以了
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

5
 
别看evc的。。。看vc的就好了。。。。汗。。去vc的坛子里淘一圈啥资料都有了
vc知识库。。。
evc。。。。做AP都是从VC移植过来,一般的办法:

1.能直接有类库的就直接用。
2.没有的想办法用wince的类库代替或者自己写类库。没其他的办法。。

建议去看看Norains的blog很多好东西可以掏掏。
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

6
 
对话框最大化了, 对话框中的控件是不会变的.
对话框的属性页中有最小化的选项,选上就可以了.
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用 5 楼 huabinsir 的回复:
对话框最大化了, 对话框中的控件是不会变的.
对话框的属性页中有最小化的选项,选上就可以了.


我看别人的程序在不同的LCD上显示都是比例自然缩放的。咋做的!?
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

8
 
上面都说完了 的确很弱 界面要自己控制
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

9
 
每一个控件的缩放都要写进代码才行。

写一个缩放函数,放在你想要响应的消息函数中(例如最大化消息、拖放消息等)。

这个缩放函数实现获得窗口原尺寸、位置和缩放后的尺寸、位置。算出长和宽的比例系数

长的比例系数=缩放后的长/窗口原长;(宽也类似)

然后再算缩放函数中实现遍历每一个控件,对每一个控件实现下列操作:

1.获得控件在窗口原尺寸(4个坐标点)。
2.算出控件的长和宽
3.算出缩放后的控件的长和宽(缩放后的长=原长*长的比例系数,宽也如此)
4.算出控件左上点的坐标位置(x,y)
     x - 当前窗口左左点横坐标 = 长的比例系数 * (原窗口中控件的左上点横坐标 - 原窗口的左上点横坐标)  同理求出y。
5.依据控件左上点坐标和控件的长和宽重新设定控件显示位置。
6.重绘窗口


 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

10
 

这个缩放函数实现获得窗口原尺寸、位置和缩放后的尺寸、位置。算出长和宽的比例系数

这句有点问题,因为在响应消息的时候窗口尺寸已经改变,所有的原尺寸,应该在程序初始化获得,并在窗口改变以后,重新获得,这就需要你在写一个专门遍历所有控件位置的函数。

挺麻烦的。
 
 
 

回复

51

帖子

0

TA的资源

纯净的硅(高级)

11
 
引用 9 楼 CBEMA 的回复:

这个缩放函数实现获得窗口原尺寸、位置和缩放后的尺寸、位置。算出长和宽的比例系数

这句有点问题,因为在响应消息的时候窗口尺寸已经改变,所有的原尺寸,应该在程序初始化获得,并在窗口改变以后,重新获得,这就需要你在写一个专门遍历所有控件位置的函数。

挺麻烦的。


哎,我看看VC 的是怎么做的。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

12
 
VC中应该是响应OnSize函数,在其中根据窗体的实际大小,依次调整每个控件(按钮、编辑框)的大小和位置!
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

13
 
去找个网址看看,我目前也是在Win32平台下实现了,WinCE下不知道可否,不过现在手头上的一个串口工程应该也会用到缩放,关注你的进度
《对话框内部控件自动缩放类》
http://www.vcfans.com/2009/03/automatic-scaling-of-internal-control-dialog-box-type.html

呵呵,给分吧,不用谢了
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

14
 
看看
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

15
 
动态调整控件方面,EVC和VC基本一致!
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

16
 
呵呵,挺不错的哈。vc2005下的确可以。

不过限制边界的那个函数在evc下有个结构(MINMAXINFO)不支持。
 
 
 

回复

113

帖子

0

TA的资源

一粒金砂(中级)

17
 
从www.pudn.com找了几个VC6.0的例子,正在看,
 
 
 

回复

74

帖子

0

TA的资源

五彩晶圆(初级)

18
 
引用 12 楼 iwillbeback008 的回复:
去找个网址看看,我目前也是在Win32平台下实现了,WinCE下不知道可否,不过现在手头上的一个串口工程应该也会用到缩放,关注你的进度
《对话框内部控件自动缩放类》
http://www.vcfans.com/2009/03/automatic-scaling-of-internal-control-dialog-box-type.html

呵呵,给分吧,不用谢了


这个应该可以移植到WinCE上
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

19
 
你可以将控件的大小位置等存储在XML文件中,然后自己根据当前窗口区域的大小,再计算然后更新下。
C#里有窗体的自动伸缩及控件的放大,EVC中没有,需要手动实现,估计实现方法类似。
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

20
 
楼主,你设置主窗口的大小是正确的。
但控件不会随着主窗口自动调整大小,需要程序来处理。

驱动调试助手是基于文档的,所以能自动缩放,
控件主要是处理了需要缩放的,其他控件的位置和大小都保持不变,跟界面布局有关。
所以,你考虑一下界面的布局。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表