2017-05-30 151 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.