Powerbuilder,无论如何都要获得uo / datawindow的位置/高度/宽度?

时间:2014-02-28 08:42:58

标签: position powerbuilder

我正在努力升级具有多个UO和DW的遗留应用程序,所有这些都包含在一个窗口中。

我们的客户正在进行显示器升级(19“显示器!!!现代分辨率!!),其中大部分将是1280x1024,但仍有一些电台使用旧的1024x768分辨率,而一些管理人员开始使用他们的高清笔记本电脑,分辨率为1366x768。

我一直在努力使我们的界面尽可能地响应,但我仍然需要为每一个uo和dw硬核固定值。

我正在尝试将它简化为dw.height = env.height - dw.x-position之类的东西。

这可能吗?

目前我使用的是这样的

// height = base height - details ( - buttons)
w_cms.uo_pat.uo_pat_appt.tab_1.tab_os_aptinfo.dw_os_aptinfo.Height  = G_uo_height - 420
w_cms.uo_pat.uo_aps_book.uo_aps_cal.dw_free_slot.height = ll_base - 1230

1 个答案:

答案 0 :(得分:2)

要获得真实位置,您必须上升父对象链并将所有坐标添加到一起。

解决此问题的更好方法是将控件的大小调整为窗口大小,而不仅仅是屏幕大小。这不仅更容易,而且还意味着您的应用程序响应窗口调整,而不仅仅是分辨率差异。 (这也避免了不同大小的铬的问题,如任务栏大小,滚动条大小,窗口边框大小等...)

PFC已调整windowsDataWindows的服务大小,并且下载包含有关如何使用这些功能的文档。曾经有过关于如何解耦PFC代码并将其与非PFC架构一起使用的文章,但只要你have ancestors for all your windows and DataWindow controls,它就不是火箭科学。

祝你好运,

特里。