以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  复合框  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=99489)

--  作者:黄金精算师
--  发布时间: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


--  作者:yukizzc
--  发布时间:2016/6/23 14:13:25
--  

您是要做什么操作呢??

这个复选框选中后改变显示的文字和背景色,你这边代码都没问题


--  作者:黄金精算师
--  发布时间:2016/6/23 14:22:39
--  
IF,01到12
选择
IF01
IF02
IF03
IF04只要开个头,我能看明白就好了,
我上面的,只是我有一个按键的代码,所以钩选,我也这样做,那些文字和背景色我能修改,只是复选择框没有开头,搞了半天,开不了头


--  作者:黄金精算师
--  发布时间: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

--  作者:yukizzc
--  发布时间:2016/6/23 21:06:23
--  
这是combox控件,这是初始化添加项例子
UserForm1_ComboBox1.List = Array("IF00", "IH00", "IC00", "TF00")

这个是取控件切换合约然后进行操作
Sub UserForm1_ComboBox1_Click()
Select Case UserForm1_ComboBox1.Value
    Case UserForm1_ComboBox1.List(0)
这边你自己的程序

--  作者:黄金精算师
--  发布时间: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编辑过]

--  作者:pel46585
--  发布时间:2016/6/24 23:34:29
--  
bk_ComboBox1.listindex=0  
--  作者:黄金精算师
--  发布时间: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

--  作者:yukizzc
--  发布时间:2016/6/27 11:54:27
--  
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

--  作者:黄金精算师
--  发布时间: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也正常,但是复选框的值无法取出