管理者软件
专业源于专注
www. onlyIt. cn   
软件交流 管理软件 软件手册 »
管理模型 管理资料

    

 6  1/1   1  
作者
内容
dragonzsp  [个人空间]


注册  2011-03-25
发贴数  66
精华数  0
原创贴  4
来自  温州
状态  正常

级别  贵宾
#1»发布于2017-11-20 09:15

      这几天研究软件的产品档案,准备把公司现用的erp转移到onlyit上使用。苦恼发现,erp上的产品档案的一些产品属性太多,onlyit上面开满拓展都不够使用。下载了最新版onlyit,翻看了csp.doc文档,对创建控件的相关函数进行了研究,决定自己建表和创建自定义控件。创建自定义控件过程中,为使用方便,我自己组合了一个创建控件函数,简化创建控件的坐标及宽度计算过程,现在分享出来,欢迎大家在此基础上改进分享。代码如下: 
 
 
/* 
Create_Contrl 创建一个文本标签 
paraView:父控件名称 
ViewName:要创建的控件名称 
ViewText:要创建的控件标题 
TopViewName:要创建的控件上面控件名称 
LeftViewName:要创建的控件左边控件名称 
ZiDianID_or_Call_str:当为字典ID时,为下拉列表专用,其他为空就行,当创建的控件为按钮时候ZiDianID_or_Call_str为命令的脚本名称,比如call_prog.xxx 
Type:控件类型,1为文本标签,2位编辑框,3为日期选择框,4为组合框,5为独立打勾框,6为多选1打勾框,7为多行编辑框,8为下拉列表,9为普通按钮,10为标签式按钮 
 
 
*/ 
function int Create_Contrl(string paraView,string ViewName,string ViewText,string TopViewName,string LeftViewName,string ZiDianID_or_Call_str,int Type) 

  string FatherView; 
  int Topx,Topy,TopW,TopH,Leftx,Lefty,LeftW,LeftH; 
  int x,y,w,h,bx,by; 
  bx=10;     
  by=20 
  x=0; 
  y=0; 
  w=strlen(ViewText)*9; 
  h=15; 
  if(paraView=="") 
  { 
    FatherView="this"; 
  } 
  else 
  { 
    FatherView=paraView; 
  } 
  if(TopViewName=="") 
  { 
    Topx=0; 
    Topy=0; 
    TopW=20; 
    TopH=15; 
  } 
  else 
  { 
    Topx=gui_get_x(TopViewName); 
    Topy=gui_get_y(TopViewName); 
    TopW=gui_get_w(TopViewName); 
    TopH=gui_get_h(TopViewName); 
    y=Topy+15+TopH; 
    if(x==0) 
    { 
      x=Topx; 
    } 
  } 
  if(LeftViewName=="") 
  { 
    Leftx=0; 
    Lefty=0; 
    LeftW=20; 
    LeftH=15; 
  } 
  else 
  { 
    Leftx=gui_get_x(LeftViewName); 
    Lefty=gui_get_y(LeftViewName); 
    LeftW=gui_get_w(LeftViewName); 
    LeftH=gui_get_h(LeftViewName); 
    x=Leftx+LeftW+5; 
    if(y==0) 
    { 
      y=Lefty; 
    } 
  } 
  if(x==0) 
  { 
    x=bx; 
  } 
  if(y==0) 
  { 
    y=by; 
  } 
  gui_set_x(ViewName,x); 
  gui_set_y(ViewName,y); 
  gui_set_w(ViewName,w); 
  gui_set_h(ViewName,h); 
  //dbg(ViewName+":"+x+","+y+","+w+","+h) 
  switch(Type) 
  { 
    case 1: 
    gui_create_label(FatherView,ViewName,x,y,ViewText); 
    break; 
    case 2: 
    gui_create_edit(FatherView,ViewName,x,y-2,w,h); 
    gui_set_val(ViewName,"") 
    break; 
    case 3: 
    gui_create_date_pick(FatherView,ViewName,x,y-2,w,h); 
    break; 
    case 4: 
    gui_create_group_box(FatherView,ViewName,x,y,w,h,ViewText); 
    break; 
    case 5: 
    gui_create_check_box(FatherView,ViewName,x,y,w,h,ViewText); 
    break; 
    case 6: 
    gui_create_radio_button(FatherView,ViewName,x,y,w,h,ViewText); 
    break; 
    case 7: 
    gui_create_memo(FatherView,ViewName,x,y,w,h); 
    gui_set_val(ViewName,"") 
    break; 
    case 8: 
    gui_create_combobox(FatherView,ViewName,x,y-2,w,h,ZiDianID_or_Call_str);     
    break; 
    case 9: 
    gui_create_button(FatherView,ViewName,x,y-2,w,h,ViewText,ZiDianID_or_Call_str); 
    break; 
    case 10: 
    gui_create_speedbutton(FatherView,ViewName,x,y-2,w,h,ViewText,ZiDianID_or_Call_str); 
    break; 
  } 
   
 
  return 1; 

 
 
//现在贴出我自己写的产品检索控件创建代码,并在附件添加效果图,示例代码如下: 
int main() 

  //隐藏产品检索相关控件 
  gui_hide("SpeedButton_Fetch_Limit"); 
  gui_hide("Label3"); 
  gui_hide("Label4"); 
  gui_hide("CheckBox_Res_Unit_Type"); 
  gui_hide("ComboBox_Ext_Res_Unit_Type"); 
  gui_hide("CheckBox_Res_Kind"); 
  gui_hide("ComboBox_Ext_Res_Kind"); 
  gui_hide("ComboBox_Ext_Parent_Res_Id"); 
  gui_hide("ComboBox_Ext_Group_Id"); 
  gui_hide("CheckBox_Hide_Son"); 
  gui_hide("CheckBox_Show_Stop"); 
  //创建自己的自定义标签 
  gui_create_button("Panel_Lmt_Switch","bt_SearchRes",5,3,strlen("产品档案检索")*9+2,20,"产品档案检索","call_prog.产品档案检索按钮创建脚本.Button_SearchRes");   
  Create_Contrl("ScrollBox_Lmt","cb_Res_ID","产品编号:","","","",5); 
  Create_Contrl("ScrollBox_Lmt","cbt_Res_ID","产品编号:","","cb_Res_ID","",2); 
  Create_Contrl("ScrollBox_Lmt","cb_Res_Name","产品编号:","cb_Res_ID","","",5); 
  Create_Contrl("ScrollBox_Lmt","cbt_Res_Name","产品编号:","cb_Res_ID","cb_Res_Name","",2);   
  Create_Contrl("ScrollBox_Lmt","cb_Res_GongYi","工艺特征:","cb_Res_Name","","",5); 
  Create_Contrl("ScrollBox_Lmt","cbt_Res_GongYi","工艺特征:","cb_Res_Name","cb_Res_GongYi","ZD_RES_GONGYI",8); 
    Create_Contrl("ScrollBox_Lmt","cb_Res_XingZhuang","形状特征:","cb_Res_GongYi","","",5); 
  Create_Contrl("ScrollBox_Lmt","cbt_Res_XingZhuang","形状特征:","cb_Res_GongYi","cb_Res_XingZhuang","ZD_RES_XINGZHUANG",8); 
    Create_Contrl("ScrollBox_Lmt","cb_Res_CaiZhi","产品材质:","cb_Res_XingZhuang","","",5); 
  Create_Contrl("ScrollBox_Lmt","cbt_Res_CaiZhi","产品材质:","cb_Res_XingZhuang","cb_Res_CaiZhi","ZD_RES_CAIZHI",8); 
    Create_Contrl("ScrollBox_Lmt","cb_Res_KaiMo","开模类型:","cb_Res_CaiZhi","","",5); 
  Create_Contrl("ScrollBox_Lmt","cbt_Res_KaiMo","开模类型:","cb_Res_CaiZhi","cb_Res_KaiMo","ZD_RES_MUJUTYPE",8); 
  Create_Contrl("ScrollBox_Lmt","cb_Res_GuangDu","产品光度:","cb_Res_KaiMo","","",5); 
  Create_Contrl("ScrollBox_Lmt","cbt_Res_GuangDu","产品光度:","cb_Res_KaiMo","cb_Res_GuangDu","res_sub_dict_button_luminosity",8); 
  Create_Contrl("ScrollBox_Lmt","cb_Res_UseType","产品用途:","cb_Res_GuangDu","","",5); 
  Create_Contrl("ScrollBox_Lmt","cbt_Res_UseType","产品用途:","cb_Res_GuangDu","cb_Res_UseType","ZD_RES_TYPE",8); 
   
   
}

产品检索控件创建效果图


        于 2017-11-20 09:15 被 dragonzsp 修改





固定資産設備 管理軟體, 綠色免費

summer  [个人空间]
QQ名  summer


注册  2009-09-08
发贴数  436
精华贴  7
原创贴  4
来自  
状态  正常

级别  会员
#2»发布于2017-11-20 09:49

很不错,祝推行成功!






官方认证第三方服务团队  夏延明 QQ:15932787
服务介绍: http://www.onlyit.cn/user_home?user_id=10304

商贸进销存 管理軟體, 綠色免費

xwb514  [个人空间]
QQ名  无锡-流浪(340298101)


注册  2010-03-19
发贴数  375
精华贴  5
原创贴  6
来自  
状态  正常

级别  会员
#3»发布于2017-11-20 10:05

学习了。谢谢。






承接OIT进销存商业服务

人力資源管理軟體, 綠色免費

mevmev  [个人空间]


注册  2017-03-15
发贴数  157
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#4»发布于2017-11-20 14:39

楼主威武。 
不知道 创建的自定义grid,如何 在脚本工具里能够触发事件: 
 
1、在inp_para 里使用了 set_para_csp() 后 实现界面上的 cell_change cell_focus 事件的触发。 
 
2、在单据界面创建的 grid ,如何能够相应的事件里被触发 
     如 before_oper  after_oper  cell_change cell_focus init_row





庫存管理軟體, 綠色免費

afoo  [个人空间]
QQ名  常德-ZEN


注册  2010-04-08
发贴数  172
精华贴  6
原创贴  6
来自  常德-ZEN
状态  正常

级别  会员
#5»发布于2017-11-21 10:43

楼主威武!收藏了。谢谢。






官方认证第三方服务团队  蒋逸凡(常德-ZEN) QQ:50636277
服务介绍: http://www.onlyit.cn/user_home?user_id=13498

固定資産設備 管理軟體, 綠色免費

cctv_cba  [个人空间]
QQ名  81753287


注册  2015-04-23
发贴数  12
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#6»发布于2018-09-14 12:30

这个找了好久,里面有些东西,值得去研究一下





商贸进销存 管理軟體, 綠色免費

 >经典理论    >职业工具    >交流论坛      >阅读1 ,2 ,3 ,4  >文本论坛    
 6  1/1   1  


登录后方可发贴


[ 电话: 0571-85462761 王先生 QQ: 124520435 加入软件QQ群 - 中国杭州 - 备案号码 33010402003225]