以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  为何Grid.ChangeStock,好像反应很迟钝  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=157911)

--  作者:roadpeace
--  发布时间:2017/9/14 15:29:34
--  为何Grid.ChangeStock,好像反应很迟钝
我写了个界面,双击某股票相应跳到该图形
ChangeStock,结果并不是马上转到该股票上去,而要等几秒或更长

为何??

--  作者:roadpeace
--  发布时间:2017/9/14 15:52:31
--  
而且假如界面是用changestock设定的品种的话,再用changestock貌似就不能转过去,
非要变一变该界面,才能再次changestock

而且changestock也有点慢,不是即出,表现有点奇怪
我在changestock后是有msgout的,msgout是马上出来,而changestock非要呆了一下再出
关键是我双击(自画界面)不同股票,这样等于不停用程序changestock,这样好像就换不了品种。非要一下手工换,一下程序changestock,才能换

--  作者:无为剑
--  发布时间:2017/9/14 17:00:31
--  

提交以下你的测试代码


--  作者:2272585882
--  发布时间:2017/9/16 15:38:10
--  

要等数据刷新才会看到反应

你在代码后面加一个刷数据的代码就好了

 


--  作者:roadpeace
--  发布时间:2017/9/18 19:28:47
--  
\'貌似如果显示图形的窗口一直显示(就是说一直能看到)。调用test(),不会改变;然后把窗口最小化,再打开,就变了
\'估计是须窗口重绘才能changestock。
\'所以问题变成:如何(强制)重绘

public Stocknum

stocknum = 1

Sub test
If StockNum = 1 then
stockcode = "601857"
StockNum = StockNum + 1
ElseIf StockNum = 2 then
stockcode = "600006"
StockNum = StockNum + 1
ElseIf StockNum = 3 then
stockcode = "600000"
StockNum = 1
End If
application.msgout("应显示股票:"&Stockcode)
Set Grid = futures_explorer.GetGridByName("window3")
Call Grid.ChangeStock(stockcode,"SH")
Grid.ReInitData
Set Grid = nothing
end sub


--  作者:马良
--  发布时间:2017/9/18 19:38:20
--  
看frame对象的方法