最新消息:本站持续更新中,请注意添加收藏夹。搜索关键词时,多换一个同义词。比如要搜索界面,可以尝试页面,画面,PER档等词汇。善于搜索,将大大提高你的查找效率。

TIPTOP 单身的行背景颜色动态设置例子

开发相关 bron1984 4856浏览
# Prog. Version..: '5.25.06-12.01.05(00010)'     #
#
# Pattern name...: csfi001demo.4gl
# Descriptions...: 单身高亮显示demo
# Date & Author..: 120426 by yjb
#
##############################################################
# 说明:
#      1. 本程序展现:显示单元格内字体颜色,显示单元格背景,显示整行背景
#      2. gp5.20和gp5.20版本测试通过
#      3. 主要应用了DIALOG.setArrayAttributes方法
##############################################################
#
# Modify.........: MOD-120426 BY yjb


GLOBALS "../../config/top.global"

DEFINE g_table1 DYNAMIC ARRAY OF RECORD  #单身数组
           edit1  int,
           edit2  STRING,
           edit3  STRING,
           edit4  STRING
           END RECORD

DEFINE g_table1_attr DYNAMIC ARRAY OF RECORD  #属性数组,名称与单身数组一致,类型定义为string
           edit1  STRING,
           edit2  STRING,
           edit3  STRING,
           edit4  STRING
           END RECORD

DEFINE g_table2 DYNAMIC ARRAY OF RECORD
           edit_1  int,
           edit_2  STRING
           END RECORD

MAIN
   DEFINE l_ac  INTEGER
   

   WHENEVER ERROR CALL cl_err_msg_log
 
   LET g_prog="csfi001demo"

   IF (NOT cl_user()) THEN
      EXIT PROGRAM
   END IF

   IF (NOT cl_setup("CSF")) THEN
      EXIT PROGRAM
   END IF


   OPEN WINDOW w1 WITH FORM "csf/42f/csfi001demo"
          ATTRIBUTE (STYLE = g_win_style CLIPPED) 

          CALL cl_set_locale_frm_name("csfi001demo")
          CALL cl_ui_init()

   
   CALL b_fill()
   
   DIALOG ATTRIBUTES(UNBUFFERED=TRUE)
      DISPLAY ARRAY g_table1 TO s_table1.*
          BEFORE DISPLAY 
             CALL DIALOG.setArrayAttributes("s_table1",g_table1_attr)    #参数:屏幕变量,属性数组

      END DISPLAY
      
      DISPLAY ARRAY g_table2 TO s_table2.*
  
      END DISPLAY

      ON ACTION CLOSE
         EXIT DIALOG
      ON ACTION exit
         EXIT DIALOG
   END DIALOG

   CLOSE WINDOW w1
END MAIN

FUNCTION b_fill()
   DEFINE l_i  INTEGER

   CALL g_table1.clear()
   CALL g_table2.clear()
   CALL g_table1_attr.clear()

   FOR l_i = 1 TO 20
      LET g_table1[l_i].edit1 = l_i
      LET g_table1[l_i].edit2 = l_i
      LET g_table1[l_i].edit3 = l_i
      LET g_table1[l_i].edit4 = l_i
      
      LET g_table2[l_i].edit_1 = l_i
      LET g_table2[l_i].edit_2 = l_i
   END FOR

   #假设条件设定 (实际应用可以放在上面循环中处理)

   LET g_table1_attr[2].edit1 = "red"    #显示单元格内字体颜色

   LET g_table1_attr[3].edit1 = "red reverse"   #显示单元格背景

   #显示整行背景
   LET g_table1_attr[4].edit1 = "yellow reverse"  
   LET g_table1_attr[4].edit2 = "yellow reverse"
   LET g_table1_attr[4].edit3 = "yellow reverse"
   LET g_table1_attr[4].edit4 = "yellow reverse"

END FUNCTION




颜色类型:
BLACK     黑色
BLUE      蓝色
CYAN      青色
GREEN     绿色
MAGENTA   品红色
RED       红色
WHITE     白色
YELLOW    黄色
BOLD      粗体
DIM       暗叹无光
INVISIBLE 隐藏
NORMAL    正常 正规
REVERSE   反向 倒转
BLINK     闪烁
UNDERLINE 下划线

 

转载请注明:赫非域 » TIPTOP 单身的行背景颜色动态设置例子