我在10.2B08测试了这个。这是主要的任何触发器:
ON RETURN OF {&WINDOW-NAME} ANYWHERE DO: IF SELF:TYPE = "BUTTON" THEN DO: APPLY "Choose". END. else do: apply 'tab'. return no-apply. end. end. ON CURSOR-DOWN OF {&WINDOW-NAME} ANYWHERE DO: if self:type ne 'EDITOR' then DO: APPLY "Tab". RETURN NO-APPLY. END. END.
与你所拥有的没什么不同。 现在在编辑器中,向RETURN添加一个触发器,向CURSOR-DOWN添加一个触发器。 这是你的编辑器的RETURN触发器:
self:insert-string(chr(13)).
这是编辑器的CURSOR-DOWN触发器:
DEFINE VARIABLE iOffset AS INTEGER NO-UNDO. assign iOffset = self:cursor-char self:cursor-line = self:cursor-line + 1 self:cursor-char = ioffset no-error. do while error-status:get-message(1) begins '**Unable to set attribute CURSOR-CHAR': assign iOffset = iOffset - 1 self:cursor-char = ioffset no-error. if iOffset = 1 then leave. end.
如果这对您有用,请告诉我。在这里似乎对我没问题。