| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 2917 人关注过本帖
标题:求教自定义函数如何与父类窗口控件通讯的问题,急!
只看楼主 加入收藏
hp_2000
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-7-8
  问题点数:0  回复次数:3   
求教自定义函数如何与父类窗口控件通讯的问题,急!
各位大神,在下面的窗口事件中,因为代码重复量大,想把重复的代码编写成函数,可因为函数中牵涉到父类窗口创建的控件,不知如何引用,所以怎么也写不出来,请大神帮帮忙啊!

主窗口中代码:
long i,ll_row,ll_columns,i_return
oleobject xlapp,xlsub,xlsub1
xlapp = CREATE OLEObject
i_return = xlapp.ConnectToNewObject( "Excel.Application")
if i_return <> 0 then
MessageBox( "提示! ", "Excel连接失败! ")
return
end if
string dept_name,item_head,item_detail,result,unit,reference_value,cue,summary
xlapp.application.workbooks.open(path_name)
xlsub = xlapp.application.activeworkbook.worksheets[1]
ll_row=xlsub.UsedRange.Rows.Count
ll_columns=xlsub.UsedRange.Columns.Count
dw_report.reset()                //数据窗口清空
if  tab_1.tabpage_2.cbx_xcg.checked then
    w_getItemDetail("血常规")   
end if
if  tab_1.tabpage_2.cbx_shqt.checked then
    w_getItemDetail("生化全套")   
end if
dw_report.GroupCalc()

//窗口函数代码:w_getItemDetail
int i=6
item_head=string(xlsub.cells(i,4).value)
do while (item_head <> "血常规")
    i=i+1
    item_head=string(xlsub.cells(i,4).value)
    if isnull(item_head) then
        item_head=""
    end if
loop

do while string(xlsub.cells(i,4).value) = "血常规"
    ll_row=dw_report.insertrow(0)
    dept_name=string(xlsub.cells(i,2).value)
    item_head=string(xlsub.cells(i,4).value)
    item_detail=string(xlsub.cells(i,5).value)
    result=string(xlsub.cells(i,6).value)
    unit=string(xlsub.cells(i,7).value)
    reference_value=string(xlsub.cells(i,8).value)
    cue=string(xlsub.cells(i,9).value)
        
    dw_report.setitem(ll_row,'dept_name',dept_name)
    dw_report.setitem(ll_row,'item_head',item_head)
    dw_report.setitem(ll_row,'item_detail',item_detail)
    dw_report.setitem(ll_row,'result',result)
    dw_report.setitem(ll_row,'unit',unit)
    dw_report.setitem(ll_row,'reference_value',reference_value)
    dw_report.setitem(ll_row,'cue',cue)
i = i + 1
loop     
summary=string(xlsub.cells(i,2).value)+string(xlsub.cells(i,3).value)
dw_report.setitem(ll_row,'summary',summary)


搜索更多相关主题的帖子: return  result  Excel  如何  最好  
2016-07-08 15:45
hp_2000
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-7-8
  得分:0 
没有大神帮忙啊?
2016-07-09 17:14
hp_2000
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-7-8
  得分:0 
这啥oleoject对象我在其窗口函数中引用,按理属于有效域范围,为啥不让引用呢?
2016-07-12 19:31
hp_2000
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-7-8
  得分:0 
在CSDN社区的PB论坛经大神提点得到解决--通过定义shared variables来实现ole object在父子窗口(进程)间的交互。
这个论坛有点小死样啊?怎么光见人看,不见人解答啊?
2016-07-26 11:35







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034226 second(s), 9 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved