mdihelp!类型窗口无法改变窗口大小??????????

dzy983 2005-04-07 11:47:16
我有一个mdihelp!类型窗口,其windowstate设计为maximized!,窗口在800*600正常!但我想在1024*768下面改变窗口的大小!但我在open事件中用:
this.width=大小
this.height=大小后窗口大小没任何反应!还是maximized!的最大化大小!把代码放在resize事件中也一样!在线等待!能不能在窗口maximized!下改变窗口大小!!!在线等待!!!!急急~!
...全文
176 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
j9dai 2005-04-11
  • 打赏
  • 举报
回复
1.定义结构
type point from structure
long x
long y
end type

type minmaxinfo from structure
point ptreserved
point ptmaxsize
point ptmaxposition
point ptmintracksize
point ptmaxtracksize
end type

2.函数申明:
subroutine GetMinMaxInfo ( ref minmaxinfo d, long s, long l ) library 'kernel32.dll' alias for RtlMoveMemory
subroutine SetMinMaxInfo ( long d, minmaxinfo s, long l ) library 'kernel32.dll' alias for RtlMoveMemory
dzy983 2005-04-11
  • 打赏
  • 举报
回复
type point from structure
long x
long y
end type 这个结构名称必须是point吗
subroutine GetMinMaxInfo ( ref minmaxinfo d, long s, long l ) library 'kernel32.dll' alias for RtlMoveMemory 声明出错!
把subroutine换成function!而且不知道这函数返会值类型!我就用了ulong !
dzy983 2005-04-09
  • 打赏
  • 举报
回复
to: j9dai(DoItNow)
兄台试了没反应,还是和原来一样!是不是我结构声明问题
结构声明如下
minmaxinf str{
ptmaxsize lstr_pos
ptmaxposition lstr_pos
ptmintracksize lstr_pos
ptmaxtracksize lstr_pos
}

lstr_pos str{
x long
y long
}
dzy983 2005-04-09
  • 打赏
  • 举报
回复
to: j9dai(DoItNow)
刚到网上找到结构了!先试试
dzy983 2005-04-09
  • 打赏
  • 举报
回复
to: j9dai(DoItNow)
lstr_MinMaxInfo 结构如何定义声明!我的api查询资料不全,没找到两个api函数声明
hygougou 2005-04-09
  • 打赏
  • 举报
回复
呵呵,看看PFC就明白了
lzheng2001 2005-04-08
  • 打赏
  • 举报
回复
用API把最大化尺寸改为800*600
====================
意思是把系统分辨率改为800*600吗? 还是把某个窗口的最大尺寸限制在800*600?
dzy983 2005-04-08
  • 打赏
  • 举报
回复
有人解答吗!等。。。。。。。。
dzy983 2005-04-08
  • 打赏
  • 举报
回复
有人解答吗!等。。。。。。。。
yyr215 2005-04-08
  • 打赏
  • 举报
回复
return:lzheng2001
我是一个mdihelp!,一个child!,还有一个窗口cover,在打开mdi之前用了
opensheet(cover,mdihelp,0,original!),而且cover窗口中用一张背景图片盖了平铺整个窗口
dzy983 2005-04-08
  • 打赏
  • 举报
回复
to:lzheng2001(1加1=0)
用API把最大化尺寸改为800*600时窗体的实际大小的方法知道实现吗!高手在等待!
dzy983 2005-04-08
  • 打赏
  • 举报
回复
to:lzheng2001(1加1=0)
兄台!我是一个mdihelp!,一个child!,还有一个窗口cover,在打开mdi之前用了
opensheet(cover,mdihelp,0,original!),而且cover窗口中用一张背景图片盖了平铺整个窗口!
lzheng2001 2005-04-08
  • 打赏
  • 举报
回复
怎么我的程序没有你说的现象! 在那种分辨率下都正常呀!
dzy983 2005-04-08
  • 打赏
  • 举报
回复
to:j9dai(DoItNow)
你的方法可能是我想用的!你知道如何实现吗》》》》》》在 线等待
dzy983 2005-04-08
  • 打赏
  • 举报
回复
窗体先是最大化后然后调整到了你的尺寸
这个动作用户运行后看得很明显!效果不行
dzy983 2005-04-08
  • 打赏
  • 举报
回复
俺做了一个系统界面,mdihelp窗口!在800*600显示正常!但在1024*768的时候,子窗口正常大小!但因为主窗口是maxizied!是最大化!结果右下角就出现了很多灰色区域!我是想把把主窗口和子窗口显示大小对称!就像800*600一样!不要出现灰色区域!

this.width=
this.height=
this.windowState = Normal! //加上这句
这种方法早试了!程序运行就可以很明显看到窗口改变状态!效果不是很好!我看 了别人开发的没出现这种效果!不知道他们采用的是什么技术!!在线等待!!!!!
j9dai 2005-04-08
  • 打赏
  • 举报
回复
以下是我的代码:
subroutine GetMinMaxInfo ( ref minmaxinfo d, long s, long l ) library 'kernel32.dll' alias for RtlMoveMemory
subroutine SetMinMaxInfo ( long d, minmaxinfo s, long l ) library 'kernel32.dll' alias for RtlMoveMemory

ue_minmaxinfo: pbm_getminmaxinfo
MinMaxInfo lstr_MinMaxInfo
/* copy the data, pointed by the argument MinMaxInfo, to our lstr_MinMaxInfo structure */
GetMinMaxInfo(lstr_MinMaxInfo, MinMaxInfo, 40)
/* set the minimal size for our window */

lstr_MinMaxInfo.ptMaxTrackSize.x = UnitsToPixels(il_orig_width, XUnitsToPixels!)
lstr_MinMaxInfo.ptMaxTrackSize.y = UnitsToPixels(il_orig_height,YUnitsToPixels!)
/* copy the structure back into memory at the same place */
SetMinMaxInfo(MinMaxInfo,lstr_MinMaxInfo,40)
/* important, according to the MS API, we must return 0 */
return 0


实例变量:
long il_orig_width=3690, il_orig_height=2320 //为在800*600下最大化的width&height,自己测试取值

注:
解决了最大化的Size问题,但最大化后窗体总在最左上角,我试过用Move,MoveWindow...都不能解决。
可能是窗体最大化后就不能再移动它,求解决方法。
我现在暂时是这样做:
设计时把该窗体windowState 设为 Normal!
在Open事件中设定width&height
dzy983 2005-04-08
  • 打赏
  • 举报
回复
to: lzheng2001(1加1=0)
意思是:把某个窗口的最大尺寸限制在800*600?
改分辨率方法我知道
lw1a2 2005-04-07
  • 打赏
  • 举报
回复
“窗口在800*600正常!但我想在1024*768下面改变窗口的大小!”

什么意思?
j9dai 2005-04-07
  • 打赏
  • 举报
回复
这样的话再按最大化按钮呢?还是达不到要求的
我了解你的意思
用API把最大化尺寸改为800*600时窗体的实际大小
加载更多回复(4)

1,079

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧