|
测试自定义菜单,目的是分清显示字段和不现实字段,显示字段排列顺序。
我的代码如下:
GUI_close_all();
GUI_load("F:\\VITOES_TEST\\script\\GUI\\Udefine.gui");
# 新天地订单执行系统 1.0
set_window ("新天地订单执行系统 1.0", 5);
menu_select_item ("资料管理;客户资料管理");
# 客户资料管理
set_window ("客户资料管理", 1);
obj_mouse_click("客户右键", 364, 76, RIGHT);
# WindowsForms10.Window.20808.app.0.e4c6c4
win_mouse_click ("WindowsForms10.Window.20808.app.0.e4c6c4", 22, 15);
# 自定义列
set_window ("自定义列_1", 3);
table = "Clientdef.xls";
rc = ddt_open(table, DDT_MODE_READ);
if (rc!= E_OK && rc != E_FILE_OPEN)
pause("Cannot open table.");
ddt_get_row_count(table,table_RowCount);
for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)
{
list_get_items_count("显示字段:", listNum);
for(i=0;i<listNum;i++)
{
list_get_item("显示字段:", i,Value);
ddt_set_row(table,table_Row);
if(Value == ddt_val(table,"不显示列"))
{
list_activate_item("显示字段:",Value);
button_press ("<< 删除");
break;
}
}
}
for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)
{
list_get_items_count("可用字段:", listNum1);
for(j=0;j<listNum1;j++)
{
list_get_item("可用字段:", j,Value);
ddt_set_row(table,table_Row);
if(Value == ddt_val(table,"显示列"))
{
list_activate_item("可用字段:",Value);
button_press ("添加 >>");
break;
}
}
}
for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)
{
ddt_set_row(table,table_Row);
list_get_item_num("显示字段:", ddt_val(table,"显示列"), item_num);
if(table_Row>item_num+1)
{
mov_num=table_Row-(item_num+1);
for(i=0;i<mov_num;i++)
{
list_activate_item("显示字段:",ddt_val(table,"显示列"));
button_press ("下移");
}
}
else
{
mov_num=(item_num+1)-table_Row;
for(i=0;i<mov_num;i++)
{
list_activate_item("显示字段:",ddt_val(table,"显示列"));
button_press ("上移");
}
}
}
ddt_close(table);
button_press ("确定");
# <No title>
set_window ("<No title>", 1);
button_press ("确定");
# 客户资料管理
set_window ("客户资料管理", 1);
button_press ("关闭");
GUI_close_all();
希望大家可以指出我代码中不好的地方或者是错误的地方,这样程序可以得到优化。谢谢,学习中!~ |
|