Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共12 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:我在做“模拟K线”的功能,有个问题呀:

1楼
dzfp2010 发表于:2010/3/28 12:38:23

我在做“模拟K线”的功能,有个问题呀:

 

1,总是在属性窗口修改属性,很繁琐,可不可以像在Visual Stdio里面一样,直接在代码里修改窗体、控件的属性的啊?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:模拟k线.jpg
图片点击可在新窗口打开查看
2楼
admin 发表于:2010/3/28 12:42:07

也可以直接在VBS代码里改属性的吧

3楼
dzfp2010 发表于:2010/3/28 12:53:55

'窗体载入,设置窗体属性
Sub UserForm2_Initialize()
With UserForm2

.Width=282
.Height=162

End With
End Sub

 

我这样写,好象不行啊,是不是写错了呢?

 


此主题相关图片如下:未命名.jpg
按此在新窗口浏览图片
[此贴子已经被作者于2010-3-28 12:58:32编辑过]
4楼
admin 发表于:2010/3/28 13:09:04

请看金字塔编程帮助中FROM对象的描述

5楼
dzfp2010 发表于:2010/3/28 15:54:36

嗯,看过了,在“金字塔”中,这两个属性,是只读的,不能重新赋值。。。

 

现在已经做到这一步了,插入K线后,发现均线没有因为插入K线而发生变化呢?起不到模拟的效果,请版主,提示下一步该怎么做呢?

 

如图: 

 


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2010-3-28 15:55:12编辑过]
6楼
dzfp2010 发表于:2010/3/28 16:52:11

代码如下,请版主帮忙完善,并对其中一些问题,进行一些优化和提示啊:

 

Sub UserForm2_Initialize()

'能不能在初始化过程中直接写这部分代码,以后再用到这些代码的时候,可以省略呢?。。。
Set Grid=UserFrame6.GetGridByName("Main")
Set HistoryData=Grid.GetHistoryData()

End Sub

'窗体载入,设置窗体属性
Sub UserForm2_Load()
With userForm2
'.Caption="=模拟K线="
'.Width=282
'.Height=162
.Resizing=0
.MinButton=1
End With
'指定一个自定义的图标
userForm2.SetTitileIcon("MyFile\Icon\yinwu.ICO")
userForm2.SetDefaultTabOrder()
End Sub

'插入K线
Sub UserForm2_CommandButton2_Click()
'验证TextBox中的数据
IF UserForm2_TextBox1.Text="" Or Not IsNumeric(UserForm2_TextBox1.Text) Then
MsgBox "请输入正确的 开盘价 数值。。。"
UserForm2_TextBox1.SetFocus
Exit Sub
End If

IF UserForm2_TextBox2.Text="" Or Not IsNumeric(UserForm2_TextBox2.Text) Then
MsgBox "请输入正确的 最高价 数值。。。"
UserForm2_TextBox2.SetFocus
Exit Sub
End If

IF UserForm2_TextBox3.Text="" Or Not IsNumeric(UserForm2_TextBox3.Text) Then
MsgBox "请输入正确的 最低价 数值。。。"
UserForm2_TextBox3.SetFocus
Exit Sub
End If
IF UserForm2_TextBox4.Text="" Or Not IsNumeric(UserForm2_TextBox4.Text) Then
MsgBox "请输入正确的 收盘价 数值。。。"
UserForm2_TextBox4.SetFocus
Exit Sub
End If

'MsgBox "你点击了插入K线按钮"
Set Grid=UserFrame6.GetGridByName("Main")
Set HistoryData=Grid.GetHistoryData()
HistoryData.InsertAt(HistoryData.Count)
'开盘价
HistoryData.Open(HistoryData.Count-1)=Cint(UserForm2_TextBox1.Text)
'最高价
HistoryData.High(HistoryData.Count-1)=Cint(UserForm2_TextBox2.Text)
'收盘价
HistoryData.Low(HistoryData.Count-1)=Cint(UserForm2_TextBox3.Text)
'最低价
HistoryData.Close(HistoryData.Count-1)=Cint(UserForm2_TextBox4.Text)
'重新计算框架内的所有公式数据、刷新框架
'UserFrame6.ReCalcAllGrid()
'UserFrame6.Refresh()
End Sub


'删除K线
Sub UserForm2_CommandButton3_Click()
Set Grid=UserFrame6.GetGridByName("Main")
Set HistoryData=Grid.GetHistoryData()
HistoryData.RemoveAt(HistoryData.Count)
'重新计算框架内的所有公式数据、刷新框架
'UserFrame6.ReCalcAllGrid()
'UserFrame6.Refresh()
End Sub

7楼
admin 发表于:2010/3/28 19:38:43

插入之后需要调用 Grid.ReInitDataFormula 重新进行初始化刷新

8楼
dzfp2010 发表于:2010/3/28 20:54:06
:-)问题是,在插入K线后,一刷新框架、或者公式,添加的K线自动就消失了呢。。。
9楼
admin 发表于:2010/3/28 21:16:30
你吧你的所有代码都封装在窗体里面,然后将窗体导出来给我看看,发到 442902994@qq.com
10楼
dzfp2010 发表于:2010/3/28 22:33:44

:-)

 

已经发送到邮箱啦,另外,发现设置控件的:TabIndex属性,没效果也。。。

共12 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.04199 s, 2 queries.