欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 复合框

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3384人关注过本帖树形打印复制链接

主题:复合框

帅哥哟,离线,有人找我吗?
黄金精算师
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
复合框  发帖心情 Post By:2016/6/23 13:59:41 [显示全部帖子]

你好,可以帮写一段   复合框  的代码吗?因为策略中老是换时不方便

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160623135320.png
图片点击可在新窗口打开查看
   

我的钩选项是这样写的,你帮写个大括,可以吗
'-------------------------------------------------------------
Sub bk_CheckBox1_Click() ' 择盈平仓
if bk_CheckBox1.Caption="择盈平仓" then
iRun=0 '暂停
bk_CheckBox1.Caption="停止择盈"
bk_CheckBox1.backcolor=rgb(255,0,0)
else
iRun=1 '运行
bk_CheckBox1.Caption="择盈平仓"
bk_CheckBox1.backcolor=rgb(0,255,0)
'
end if


 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/6/23 14:22:39 [显示全部帖子]

IF,01到12
选择
IF01
IF02
IF03
IF04只要开个头,我能看明白就好了,
我上面的,只是我有一个按键的代码,所以钩选,我也这样做,那些文字和背景色我能修改,只是复选择框没有开头,搞了半天,开不了头


 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/6/23 14:50:42 [显示全部帖子]

我想把选项中点选IF01到IF12,就是选择后,取到“IF01”,如下面这样用IF07
给后面的这种代码执行   
我这里的IF07是直接写上去的,我想通过复选框选择
set report1=marketdata.getreportdata("IF07","ZJ")
'    application.msgout Cdate(time) & ",最新价:" &report1.NewPrice & ",买1价:"&report1.buyprice1&",卖1价:"&report1.sellprice1

 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/6/24 16:37:59 [显示全部帖子]

  bk_ComboBox1.List = Array("IF00", "IH00", "IC00", "TF00")
Sub bk_ComboBox1_Click()
      Select Case bk_ComboBox1.Value
             Case bk_ComboBox1.List(0)    
                  SASA="IF00"      
              Case bk_ComboBox1.List(1) 
                  SASA="IF12"   
      End Select 
    bk_TextBox30=SASA
End Sub

这样,能取到值了,如果我要默认其中一个值,怎么写
就是运行时就有一个值,现在运行时是空白的,我想定下一个值作为
默认
[此贴子已经被作者于2016-6-24 16:39:02编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/6/27 11:34:30 [显示全部帖子]

如果在下面加一句的结果复选框能显示但不能附值,在下面的基础上加过一次触发,这样CALL   bk_ComboBox1_Click  也不行

bk_ComboBox1.List = Array("IF00", "IH00", "IC00", "TF00")
  bk_ComboBox1.listindex=0                     如果加在这个位置,那个图窗是会显示IF01  但实现SASA并不等于IF0 ,要点一次别的,再回点一次触发才是等于  SASA="IF00"  
   SASA="IF00"                          在这加一句这个没有反应
Sub bk_ComboBox1_Click()
      Select Case bk_ComboBox1.Value
             Case bk_ComboBox1.List(0)    
                  SASA="IF00"      
              Case bk_ComboBox1.List(1) 
                  SASA="IF12"   
      End Select 
    bk_TextBox30=SASA
End Sub

 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/6/27 11:57:40 [显示全部帖子]

主程是这样的
Sub APPLICATION_VBAStart()
 CALL bk_ComboBox1_Click                                '触发一次复选框
   bk.Show '打开主控窗体
End Sub

触发复选框后的取值是这样的
         bkCode1="SASA"
       set report1=marketdata.getreportdata(bkCode1,"ZJ")

编译时会显示无数据出错,如果在后面强行加载SASA为IF12,这样程序能正常,复选择框显示IG01也正常,但是复选框的值无法取出

 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/6/27 13:45:55 [显示全部帖子]

我是想通过复选框来选择出一个合约,
他的那个,只能在图表窗里显示出合约,并不能取出合约,
我要的是默认合约与所选合约相同,就是你显IF00,那也IF00取出来放到一个地方,现在取不出来,

现在想要取出合约,只能先点第二,再回点第一才会生效

 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/6/27 13:59:55 [显示全部帖子]

//----------------------完整的程序是这样的,这远法通过编译------------模块是这样写的
Sub APPLICATION_VBAStart()
 CALL bk_ComboBox1_Click                                '触发一次复选框
   bk.Show '打开主控窗体
TestReportData
End Sub


//-------------------------------------------------------------------------------------------------------------------------下面是窗体页

编译时会显示无数据出错,如果在后面强行加载SASA为IF12,这样程序能正常,复选择框显示IG01也正常,但是复选框的值无法取出
bk_ComboBox1.List = Array("IF00", "IH00", "IC00", "TF00")
  bk_ComboBox1.listindex=0                      
 bk_TextBox1="IF00"                                  '要先给textbox传递过去,不然你放在事件里的话就只有点击才会执行了                  
Sub bk_ComboBox1_Click()
      Select Case bk_ComboBox1.Value
             Case bk_ComboBox1.List(0)    
                  SASA="IF00"      
              Case bk_ComboBox1.List(1) 
                  SASA="IH00"  
                  
                  Case bk_ComboBox1.List(2) 
                  SASA="IC00"  
                  
                  Case bk_ComboBox1.List(3) 
                  SASA="TF00"   
      End Select 
    bk_TextBox1=SASA
End Sub


Sub TestReportData() 
触发复选框后的取值是这样的
         bkCode1="SASA"
       set report1=marketdata.getreportdata(bkCode1,"ZJ")



End Sub
[此贴子已经被作者于2016-6-27 14:00:42编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/6/27 15:01:14 [显示全部帖子]

不好意思,我刚看了, 我贴图的这个错了,我实际的是这样的
bk_ComboBox1.List = Array("IF00", "IH00", "IC00", "TF00")
  bk_ComboBox1.listindex=0                      
 SASA="IF00"                                  '我这里中有写这一句的,这样编译不能通过                 
Sub bk_ComboBox1_Click()
      Select Case bk_ComboBox1.Value
             Case bk_ComboBox1.List(0)    
                  SASA="IF00"      
              Case bk_ComboBox1.List(1) 
                  SASA="IH00"  
                  
                  Case bk_ComboBox1.List(2) 
                  SASA="IC00"  
                  
                  Case bk_ComboBox1.List(3) 
                  SASA="TF00"   
      End Select 
    bk_TextBox1=SASA
End Sub

 回到顶部