CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  基础类

关于mdi窗口中子窗口的位置!

楼主wh_cisco(小滕)2002-05-22 09:13:38 在 PowerBuilder / 基础类 提问

我用opensheetwithparm打开新窗口,用Original!窗口的位置会不断的变动,我又不想使用Cascaded!和Layered!   请问我该如何让我每次打开的窗口都在同一位置? 问题点数:100、回复次数:9Top

1 楼misslyy(礼拜二★其实,我是一个演员)回复于 2002-05-22 09:18:26 得分 0

只能在窗口的open事件中重新调整位置了  
  Top

2 楼diandianqiuqiu(IT民工)回复于 2002-05-22 09:21:25 得分 0

看看其他人怎么说!Top

3 楼wh_cisco(小滕)回复于 2002-05-22 09:24:16 得分 0

看了以前的帖子,这个问题已经解决!谢谢大家!///////////////////////////////  
  //这些脚本 最好做为函数放在窗口基类中     在子孙窗口中的open   事件中调用  
  window   ldw          
  int   li_height,li_width  
  int   li_sheetheight,li_sheetwidth  
  int   li_heightstate             //状态栏height  
  li_sheetheight=this.height  
  li_sheetwidth=this.width  
   
  ldw=this.parentwindow(   )                       //Getparent()  
  if   not   isvalid(ldw)   then    
  Messagebox("","not   get   the   mdi   main   window")  
  return  
  end   if  
  li_height=   ldw.workspaceheight(   )  
  li_width=     ldw.workspacewidth(   )  
   
  //   若sheet   窗口的height   或width   大于mdi   主窗口的工作区height   或width  
  if     li_sheetheight>li_height   or   li_sheetwidth   >li_width   then     this.move(   0,   0)  
   
  //////////////////////////////  
  this.move((li_width   -   li_sheetwidth)/2,(li_height   -li_sheetheight   -   li_heightstate)/2     )  
   
  Top

4 楼zry_ykfh(zry)回复于 2002-05-22 09:24:36 得分 10

在子窗口open事件中move(0,0)Top

5 楼qqf(我就是我)回复于 2002-05-22 09:26:02 得分 10

在子窗口OPEN事件中指定自身的位置不就可以吗?Top

6 楼zzhhgn(雨人)回复于 2002-05-22 09:31:32 得分 10

呵呵都这么聪明!!Top

7 楼qqf(我就是我)回复于 2002-05-22 09:56:46 得分 10

this.x=100  
  this.y=100Top

8 楼pei(一笑)回复于 2002-05-22 10:55:28 得分 50

我想你最好每次打开窗口都让他居中比较好,而且写一个公用的居中函数也很简单,只要在每个窗口的OPEN事件中调用此函数即可,一劳永逸。好人做到底,我帮你写几句,你拷贝一下直接用就可以了,够朋友吧,:)  
   
  f_center  
  参数  
  value   window   window_name  
   
  return   none  
   
  函数  
  Integer   iP_winwidth,iP_winheight  
  Integer   ix,iy  
   
  //ê1window_name窗口居中  
  ip_winwidth=window_name.parentwindow().width  
  ip_winheight=window_name.parentwindow().height  
  ix=(ip_winwidth   -   window_name.width)/2  
  iy=(ip_winheight   -   window_name.height)/2  
  window_name.move(ix,iy)  
   
  在使用时,在窗口的open事件中写:f_center(this)  
   
  Top

9 楼xiaoxianhe(笑仙鹤)回复于 2002-05-22 11:18:31 得分 10

呵呵,解决了,又来晚了!今天,怎么了,总是迟到!   :-)Top

相关问题

  • 如何MDI中子窗口禁用“关闭”按钮?Help,Help
  • MDI中子窗口如何得到MDI主窗口的类指针?
  • 在MDI窗口中,子窗口如何访问主窗口的菜单?
  • 请问如何动态改变MDI中子框架窗口的标题?(null)
  • 如何去掉MDI程序中子窗口(childFrame)的下凹变框!
  • MDI应用程序中子窗口切换问题请教,大侠请指教,多谢
  • MDI中,子窗口之间的切换如何响应,包括第一次打开或新建?立马结贴。
  • MFC中怎样把MDI中子窗口设置为不可以改变大小,不能最大化,谢谢!
  • MDI中子窗体的问题
  • [vs2005]发现一个问题,在mdi窗口中,子窗口的ToolStrip不合并到父窗口中,而是在子窗口显示。谁知道怎么解决?

关键词

  • 函数
  • ip
  • sheetheight
  • li
  • ldw
  • sheetwidth
  • mdi
  • 居中
  • parentwindow
  • winwidth

得分解答快速导航

  • 帖主:wh_cisco
  • zry_ykfh
  • qqf
  • zzhhgn
  • qqf
  • pei
  • xiaoxianhe

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo