文章 "图形界面 IX: 进度条和线形图表控件 (第二章)" - 页 3 1234 新评论 Artyom Trishkin 2016.08.27 22:42 #21 Anatol,你能告诉我是否可以动态更改进度条中的进程描述吗?假设我们有一些符号名称 数组。我们在这个数组中循环并获取字符名。然后程序处理每个符号,从中获取数据。整个循环由一个进度条显示,但我希望显示每个符号的处理过程。因此,在进程名称上标注 "处理 CMG",然后在处理下一个进程时,再写上另一个进程名 称:"处理 EQIX",等等。事先不知道数组中会有哪些符号,因此不可能准备一堆进度条,而且不同符号的名称超过 一千个也不是最佳选择....。 Anatoli Kazharski 2016.08.30 21:12 #22 Artyom Trishkin:Anatol,你能告诉我是否可以动态更改进度条中的进程描述吗?假设我们有一些符号名称 数组。我们在这个数组中循环并获取字符名。然后程序处理每个符号,从中获取数据。整个循环由一个进度条显示,但我希望显示每个符号的处理过程。因此,在进程名称上写上 "处理 CMG",然后在处理下一个进程时,再写上另一个进程名称:"处理 EQIX",等等。您事先并不知道数组中可能有哪些符号,也就是说,您无法准备一堆进度条,而且对于超过 1000 个不同符号的名称....,这也不是最佳选择。 现在还没有这种方法。在下一次更新中,我将为每个有文字说明的元素添加这一功能。也就是说,可以在创建项目后更改文本。 Artyom Trishkin 2016.08.30 22:48 #23 Anatoli Kazharski: 现在还没有这种方法。在下一次更新中,我将为每个有文字说明的元素添加这一功能。也就是说,可以在创建项目后更改文本。谢谢,非常期待;)问题:在您的示例中,有这样一段代码用于创建进度条://+------------------------------------------------------------------+ //| 创建进度条| //+------------------------------------------------------------------+ bool CProgram::CreateProgressBar(const int x_gap,const int y_gap) { //--- 保存指向表单的指针 m_progress_bar.WindowPointer(m_window); //--- 坐标 int x=m_window.X()+x_gap; int y=m_window.Y()+y_gap; //--- 创建前设置属性 m_progress_bar.YSize(15); m_progress_bar.BarYSize(11); m_progress_bar.BarXOffset(65); m_progress_bar.BarYOffset(2); m_progress_bar.BarBorderWidth(1); m_progress_bar.LabelText("Processing:"); m_progress_bar.AreaColor(C'225,225,225'); m_progress_bar.BarAreaColor(clrWhiteSmoke); m_progress_bar.BarBorderColor(clrWhiteSmoke); m_progress_bar.IsDropdown(true); m_progress_bar.AutoXResizeMode(true); m_progress_bar.AutoXResizeRightOffset(230); //--- 创建一个元素 if(!m_progress_bar.CreateProgressBar(m_chart_id,m_subwin,x,y)) return(false); //--- 隐藏元素 m_progress_bar.Hide(); //--- 添加指向基本元素的指针 CWndContainer::AddToElementsArray(0,m_progress_bar); return(true); } //+------------------------------------------------------------------+下拉元素的符号是什么?m_progress_bar.IsDropdown(true);??? Anatoli Kazharski 2016.08.31 07:34 #24 Artyom Trishkin:问题:在您的示例中,有这样一段代码用于构建进度条:下拉元素特质的目的是什么???? 为了避免在表单展开时显示进度条,而此时进度条是不可见的。 Artyom Trishkin 2016.08.31 18:50 #25 Anatoli Kazharski: 为了避免在表单展开时显示进度条,而此时进度条不应该可见。 这是否适用于可以使用您的程序库创建的任何对象? Anatoli Kazharski 2016.09.01 11:55 #26 Artyom Trishkin: 这是否适用于可以使用您的库构建的任何对象? 是的。IsDropdown() 方法位于CElement 基类中,适用于所有图形用户界面 元素。 Alexander Fedosov 2017.03.31 15:56 #27 动态更改进度条属性不起作用。例如,我想更改颜色: void IndicatorColor(const color clr) { m_indicator_color=clr; }零响应。显然,在 Update 方法中,除了更改索引和总值外,还必须指定其他 m_indicator_color 等。否则,这些方法除了在创建过程中应用外,在其他任何地方都不会应用。或者,这就是它的原意? Anatoli Kazharski 2017.03.31 16:03 #28 Alexander Fedosov:...否则,这些方法除了在创造时适用外,在其他地方都不适用。或者这就是它的初衷? 是的,这是一个临时版本。很快(在接下来的几篇文章中),所有控件都将进行大规模更新,您可以在运行时 更改任何属性。 Alexander Fedosov 2017.03.31 16:06 #29 Anatoli Kazharski: 是的,这是一个临时版本。很快(在接下来的几篇文章中),所有控件都将进行大规模更新,您可以在运行时 更改任何属性。太激动人心了。与此同时,我找到了一个临时解决方案://+------------------------------------------------------------------+ //| 更新进度条| //+------------------------------------------------------------------+ void CProgressBar::Update(const int index,const int total) { //--- 设置新索引 CurrentIndex(index); //--- 设置新范围 StepsTotal(total); //-- 计算指标的宽度 double new_width=(m_current_index/m_steps_total)*m_bar_bg.XSize(); //--- 如果小于 1,则进行调整 if((int)new_width<1) new_width=1; else { //--- 调整框架宽度 int x_size=m_bar_bg.XSize()-(m_bar_border_width*2); //--- 如果出界则更正 if((int)new_width>=x_size) new_width=x_size; } //--- 为指示器设置新的宽度 m_indicator.X_Size((int)new_width); //-- 计算百分比并形成字符串 double percent =m_current_index/m_steps_total*100; string desc =::DoubleToString((percent>100)? 100 : percent,m_digits)+"%"; //--- 设置新值 m_percent.Description(desc); m_indicator.BackColor(m_indicator_color); m_indicator.Color(m_indicator_color); } Wenxin Lv 2017.07.28 15:37 #30 172218684: 、你们都到这个黄金实战喊单群 172218684 172218684 ,必将继续狂赚利润,单子在这里喊 验证--- 实力无价 骗子 1234 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
Anatol,你能告诉我是否可以动态更改进度条中的进程描述吗?
假设我们有一些符号名称 数组。我们在这个数组中循环并获取字符名。然后程序处理每个符号,从中获取数据。整个循环由一个进度条显示,但我希望显示每个符号的处理过程。因此,在进程名称上标注 "处理 CMG",然后在处理下一个进程时,再写上另一个进程名 称:"处理 EQIX",等等。
事先不知道数组中会有哪些符号,因此不可能准备一堆进度条,而且不同符号的名称超过 一千个也不是最佳选择....。
Anatol,你能告诉我是否可以动态更改进度条中的进程描述吗?
假设我们有一些符号名称 数组。我们在这个数组中循环并获取字符名。然后程序处理每个符号,从中获取数据。整个循环由一个进度条显示,但我希望显示每个符号的处理过程。因此,在进程名称上写上 "处理 CMG",然后在处理下一个进程时,再写上另一个进程名称:"处理 EQIX",等等。
您事先并不知道数组中可能有哪些符号,也就是说,您无法准备一堆进度条,而且对于超过 1000 个不同符号的名称....,这也不是最佳选择。
现在还没有这种方法。在下一次更新中,我将为每个有文字说明的元素添加这一功能。也就是说,可以在创建项目后更改文本。
谢谢,非常期待;)
问题:在您的示例中,有这样一段代码用于创建进度条:
下拉元素的符号是什么?
m_progress_bar.IsDropdown(true);???
问题:在您的示例中,有这样一段代码用于构建进度条:
下拉元素特质的目的是什么?
???
为了避免在表单展开时显示进度条,而此时进度条不应该可见。
这是否适用于可以使用您的库构建的任何对象?
动态更改进度条属性不起作用。
例如,我想更改颜色:
零响应。显然,在 Update 方法中,除了更改索引和总值外,还必须指定其他 m_indicator_color 等。否则,这些方法除了在创建过程中应用外,在其他任何地方都不会应用。或者,这就是它的原意?
...否则,这些方法除了在创造时适用外,在其他地方都不适用。或者这就是它的初衷?
是的,这是一个临时版本。很快(在接下来的几篇文章中),所有控件都将进行大规模更新,您可以在运行时 更改任何属性。
太激动人心了。与此同时,我找到了一个临时解决方案:
、你们都到这个黄金实战喊单群 172218684 172218684 ,必将继续狂赚利润,单子在这里喊 验证--- 实力无价
骗子