文章 "图形界面 X: 高级列表和表格管理。代码优化 (集成构建 7)" - 页 6 123456789101112 新评论 Artyom Trishkin 2017.01.19 11:52 #51 Anatoli Kazharski:嗯,你不习惯 "来回重新设计"。)下周可能会有一篇新文章。我将介绍多行输入框 的第一个版本。在随后的文章中,我将逐步添加私下和论坛上讨论的所有内容。 我将添加方法 ItemsSelectedTotal(); ItemsUnselectedTotal(); 以及 ItemsTotal(); Anatoli Kazharski 2017.01.19 12:01 #52 Artyom Trishkin: 我想添加方法 ItemsSelectedTotal(); ItemsUnselectedTotal(); 以及 ItemsTotal();添加到CListView 和CCheckBoxList 中? 我会的,但不是在下一篇文章中。因此,这将是一篇相当大的文章。 Artyom Trishkin 2017.01.19 12:22 #53 Anatoli Kazharski:到CListView 和CCheckBoxList? 我会添加,但不是在下一篇文章中。这是一篇相当大的文章。 是的,在其中。好的,谢谢。 Artyom Trishkin 2017.01.20 01:54 #54 Tol,我怎样才能通过编程找出列表项中哪个复选框已打勾。而不需要点击它。我需要数组列表中所有打勾的项目。我被难住了。请告诉我应该从哪个方向查找。 Anatoli Kazharski 2017.01.20 07:57 #55 Artyom Trishkin:Tol,我怎样才能通过编程找出列表项中哪个复选框已打勾。而不需要点击它。我需要数组列表中所有打勾的项目。我被难住了。请告诉我应该从哪个方向查找。CCheckBoxList::GetItemState() Artyom Trishkin 2017.01.20 22:42 #56 Anatoli Kazharski: CCheckBoxList::GetItemState()谢谢。我就是这么做的。我是从 0 循环到 ItemsTotal()。是我的错,所以才会出现故障。能告诉我切换时间框架时复选框的状态是否会重置吗?如果是,有什么方法可以避开这个不愉快的时刻?(我的复选框状态是重置的,也许我做错了什么)。 Anatoli Kazharski 2017.01.21 20:08 #57 Artyom Trishkin:谢谢。我就是这么做的。我是从 0 循环到 ItemsTotal()。是我的错,所以才会出现故障。请问切换时间框架时,复选框的状态是否会重置?如果是,有什么方法可以避开这个不愉快的时刻?(我重置了它们,也许我做错了什么)。您需要写入一个文件。安装图形用户界面时要读取文件。这是未来文章的主题,还有很长的路要走。 Artyom Trishkin 2017.01.21 20:32 #58 Anatoli Kazharski:你必须写入一个文件。并在安装图形用户界面时读取它。这是未来文章的主题,还有很长的路要走。 我已经在做了。没等你快速回复;) Artyom Trishkin 2017.01.23 08:45 #59 Anatol,我正试图将写入第 0 列表格行中字符的 Bid 价格写入计时器中的表格://+------------------------------------------------------------------+//| 定时器|//+------------------------------------------------------------------+void CProgram::OnTimerEvent(void) { CWndEvents::OnTimerEvent(); //--- 在更新列表和表格之间暂停 if(m_counter1.CheckTimeCounter()) { uint sz=m_table_main_symbol_list.RowsTotal(); for(uint i=1; i<sz; i++) { string sy=m_table_main_symbol_list.GetValue(0,i); MqlTick tick; if(sy!=NULL && sy!="") { if(SymbolInfoTick(sy,tick)) { int dg=(int)SymbolInfoInteger(sy,SYMBOL_DIGITS); m_table_main_symbol_list.SetValue(1,i,DoubleToString(tick.bid,dg),dg); m_table_main_symbol_list.TextColor(1,i,clrDimGray); //m_table_main_symbol_list.UpdateTable(); } } } //--- 重绘图形 m_chart.Redraw(); }//--- 在状态栏更新之间暂停 if(m_counter2.CheckTimeCounter()) { //--- 重绘图形 m_chart.Redraw(); } }//+------------------------------------------------------------------+如果不使用 UpdateTable(),表格单元格 中就不会出现数据。如果每次获得新的刻度线时都更新表格,则无法使用表格 - 它会闪烁,突出显示的行会闪烁,等等....。如何摆脱这种情况? Discussion of article "Graphical 程序库: MT4Orders 图形界面 X: 高级列表和表格管理。代码优化 (集成构建 Anatoli Kazharski 2017.01.23 09:14 #60 Artyom Trishkin:阿纳托尔,我正试图在一个计时器的表格中,在索引为 1 的列中写入在表格第 0 列的行中输入的字符的买入价:...如果不使用 UpdateTable(),表格单元格中不会出现任何数据。如果每次收到新的勾选都更新表格,那么就无法使用表格 - 它会闪烁,选中的行也会闪烁,等等....。如何摆脱这种情况? 没有足够的数据来重现。请附上一个完整的示例,以便我自己复制。 123456789101112 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
嗯,你不习惯 "来回重新设计"。)
下周可能会有一篇新文章。我将介绍多行输入框 的第一个版本。在随后的文章中,我将逐步添加私下和论坛上讨论的所有内容。
我想添加方法 ItemsSelectedTotal(); ItemsUnselectedTotal(); 以及 ItemsTotal();
添加到CListView 和CCheckBoxList 中?
我会的,但不是在下一篇文章中。因此,这将是一篇相当大的文章。
到CListView 和CCheckBoxList?
我会添加,但不是在下一篇文章中。这是一篇相当大的文章。
Tol,我怎样才能通过编程找出列表项中哪个复选框已打勾。而不需要点击它。
我需要数组列表中所有打勾的项目。
我被难住了。请告诉我应该从哪个方向查找。
Tol,我怎样才能通过编程找出列表项中哪个复选框已打勾。而不需要点击它。
我需要数组列表中所有打勾的项目。
我被难住了。请告诉我应该从哪个方向查找。
CCheckBoxList::GetItemState()
谢谢。我就是这么做的。我是从 0 循环到 ItemsTotal()。是我的错,所以才会出现故障。
能告诉我切换时间框架时复选框的状态是否会重置吗?
如果是,有什么方法可以避开这个不愉快的时刻?(我的复选框状态是重置的,也许我做错了什么)。
谢谢。我就是这么做的。我是从 0 循环到 ItemsTotal()。是我的错,所以才会出现故障。
请问切换时间框架时,复选框的状态是否会重置?
如果是,有什么方法可以避开这个不愉快的时刻?(我重置了它们,也许我做错了什么)。
您需要写入一个文件。安装图形用户界面时要读取文件。这是未来文章的主题,还有很长的路要走。
你必须写入一个文件。并在安装图形用户界面时读取它。这是未来文章的主题,还有很长的路要走。
Anatol,我正试图将写入第 0 列表格行中字符的 Bid 价格写入计时器中的表格:
//| 定时器|
//+------------------------------------------------------------------+
void CProgram::OnTimerEvent(void)
{
CWndEvents::OnTimerEvent();
//--- 在更新列表和表格之间暂停
if(m_counter1.CheckTimeCounter()) {
uint sz=m_table_main_symbol_list.RowsTotal();
for(uint i=1; i<sz; i++) {
string sy=m_table_main_symbol_list.GetValue(0,i);
MqlTick tick;
if(sy!=NULL && sy!="") {
if(SymbolInfoTick(sy,tick)) {
int dg=(int)SymbolInfoInteger(sy,SYMBOL_DIGITS);
m_table_main_symbol_list.SetValue(1,i,DoubleToString(tick.bid,dg),dg);
m_table_main_symbol_list.TextColor(1,i,clrDimGray);
//m_table_main_symbol_list.UpdateTable();
}
}
}
//--- 重绘图形
m_chart.Redraw();
}
//--- 在状态栏更新之间暂停
if(m_counter2.CheckTimeCounter()) {
//--- 重绘图形
m_chart.Redraw();
}
}
//+------------------------------------------------------------------+
如果不使用 UpdateTable(),表格单元格 中就不会出现数据。如果每次获得新的刻度线时都更新表格,则无法使用表格 - 它会闪烁,突出显示的行会闪烁,等等....。
如何摆脱这种情况?
阿纳托尔,我正试图在一个计时器的表格中,在索引为 1 的列中写入在表格第 0 列的行中输入的字符的买入价:
...
如果不使用 UpdateTable(),表格单元格中不会出现任何数据。如果每次收到新的勾选都更新表格,那么就无法使用表格 - 它会闪烁,选中的行也会闪烁,等等....。
如何摆脱这种情况?