2017-05-30 113 views
0

我有这样的与屏幕设置网格:可点击网格而不是编辑

02 SCR-KUN-LST-1. 
    03 SCR-KUN-LISTE GRID PAGED SIZE 145 LINES 21 3-D 
     LINE 1 COL 1,25 FONT SMALL-FONT 
     RECORD-DATA  = KUN-LISTE-LINJE 
     DATA-COLUMNS = (1 11 12 62 112 142 157 172 187 237 252) 
     DISPLAY-COLUMNS = (1 10 12 40 65 86 99 112 125 135) 
     ALIGNMENT = ("L","C","L","L","L","L","L","L","L","L") 
     ROW-DIVIDERS  = (1,1) 
     COLUMN-DIVIDERS = (1,1) 
     DIVIDER-COLOR  = 32 
     CURSOR-COLOR  = 80 
     HEADING-MENU-POPUP 63 
     HEADING-COLOR  = 256 
     CURSOR-FRAME-WIDTH = -1 
     NUM-ROWS   = 0 
     VPADDING   = 50 
     VIRTUAL-WIDTH  = 155 
     VSCROLL ADJUSTABLE-COLUMNS USE-TAB 
     BOXED BORDER-COLOR BLACK 
     REORDERING-COLUMNS SORTABLE-COLUMNS 
     COLUMN-HEADINGS CENTERED-HEADINGS TILED-HEADINGS 
     POP-UP MENU KUN-MENU  
     ID IS 209 BEFORE PROCEDURE IS VIS-KOMMENTAR 
     EVENT PROCEDURE KUN-LISTE-SAVE 
     EXCEPTION PROCEDURE KUN-LISTE-EVENTS. 

当运行电网,它装有列等等,但是当我点击/双击它有一个编辑模式。我希望网格作为一个函数来处理双击,而不是打开一行。

任何人都知道我能做些什么吗?让我知道你是否需要更多代码来更好地看到它。

+2

你在做什么COBOL点击?这实际上很有趣。用什么软件来实现这个目标?谁知道答案可能需要知道 – SaggingRufus

+0

@SaggingRufus这是ACUCOBOL-GT。 –

+0

微距对我所听到的与他们联系有很大的支持。 – SaggingRufus

回答

0

您正在寻找GRID元素的ENTRY-REASON特殊物业。

https://supportline.microfocus.com/documentation/acucorpproducts/docs/v6_online_doc/gtman2/gt2546.htm

ENTRY的原因的(字母)

此属性记录导致电网转移 进入模式下,用户的行动。它在生成MSG-BEGIN-ENTRY事件 之前立即设置,并保留,直到被另一个 MSG-BEGIN-ENTRY事件覆盖或直到网格被销毁。

编码是单个PIC X字符如下:

X “00”
AX “00”(二进制0,ASCII空)值指示用户 双击对细胞

X“0D”
AX“0D”(二进制13,ASCII 回车)值表示用户按下的键 否则任何其他值是关键的是,用户PR essed。对于 示例,如果用户开始键入“John”,则字符“J”是由ENTRY-REASON返回的 。

进入原因只能查询。设置它没有效果。在MSG-BEGIN-ENTRY事件期间,您可能会询问ENTRY-REASON以确定 是什么导致当前条目开始。请注意,如果您希望通过将EVENT-ACTION-FAIL移动到 EVENT-ACTION并从事件过程返回,您可以然后 禁止输入。

鉴于这一点,和你定的代码,你KUN-LISTE-SAVE段落可能有

KUN-LISTE-SAVE. 
    EVALUATE EVENT-TYPE 
     WHEN MSG-BEGIN-ENTRY 
      INQUIRE SCR-KUN-LISTE ENTRY-REASON = YOUR-ENTRY-REASON 
      IF YOUR-ENTRY-REASON = X"00" 
      PERFORM YOUR-ON-DBL-CLICK 
      END-IF 
    END-EVALUATE.