PDSOE 的第一步:如何在 ABL UI Designer 透视图中获得正确的窗口视图

问题描述

我最近开始与 Progress Developer Studio for OpenEdge(更广为人知的 PDSOE)合作。

为了查看我迄今为止创建的窗口,我使用“常规”菜单、“文件系统”导入它们,但结果存在问题:显然是 ABL UI 设计透视图(显示了window),缩小窗口而不是保持实际大小。结果,我得到了重叠的小部件,这真的很难看。

为了测试这个,我创建了一个“full_screen.w”窗口(它看起来和名字一样),但是在导入它时,它会像前面提到的那样缩小。

有没有办法防止这种收缩?

额外问题:是否有用于 PDSOE 的 StackOverflow 标记

一个回答后编辑
full_screen.w 窗口具有以下定义,我不知道它基于的单位。然而,我的progress.ini 包含大小为12 而不是8 的认字体,修改这些值不会影响窗口的外观,所以显然窗口大小不是基于字符大小。它还能基于什么?

特此定义窗口:

/* *************************  Create Window  ************************** */

&ANALYZE-SUSPEND _CREATE-WINDOW
IF SESSION:disPLAY-TYPE = "GUI":U THEN
  CREATE WINDOW C-Win ASSIGN
         ...
         HEIGHT             = 28.55
         WIDTH              = 228
         ...
         .
ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
/* END WINDOW DEFinitioN                                                */
&ANALYZE-RESUME

提前致谢

解决方法

窗口的大小是如何定义的?

如果以字符为单位,则大小取决于默认字体的尺寸。

字体在 progress.ini 文件或注册表 (HKLM\software\psc\progress\<version>\) 中定义。

[Startup]
...
DefaultFont=MS Sans Serif,size=8
DefaultFixedFont=Courier New,size=8
...

[fonts]
;******************************************************************************
; THE DEFINITION OF FONT 0 THROUGH 7 IS PRIVATE TO THE PROGRESS ADE.  
; MODIFYING FONTS 0 THROUGH 7 MAY PREVENT THE PROGRESS ADE FROM RUNNING.
; The following fonts definitions correspond to the ADE standards.
;       ?  - DefaultFont from Startup Section
;       0  - DefaultFixedFont from Startup Section (1 char per PPU)  
;       1  - Proportional System Font
;       2  - Editor Font for 4GL program entry
;       3  - TTY Simulator (should be fixed)
;       4  - Dynamically-sized widgets,eg status-line,selection-list
;       5  - Static widgets,eg. combo-boxes
;       6  - Dynamic,bold (TranMan2)
;       7  - Reserved
font0=Courier New,size=8
font1=MS Sans Serif,size=8
font2=Courier New,size=8
font3=Courier New,size=8
font4=MS Sans Serif,size=8
font5=MS Sans Serif,size=10
font6=MS Sans Serif,size=8,bold
font7=MS Sans Serif,size=8
...

如果您的 AppBuilder 环境对其字体使用的 progress.ini 或注册表项与您的 PDSOE 运行时不同,那么我猜您看到的是预期行为。