文章 "图形界面 I:库结构(第一章)"

 

新文章 图形界面 I:库结构(第一章)已发布:

本文是另外一系列图形界面开发相关文章的开端。当前,还没有能够在MQL应用中快速而便捷的创建高质量图形界面的独立代码库。我所说图形界面是指我们熟悉的操作系统中的图形界面。

这些都是以面向过程的方式写的并且目标是为了熟悉MQL语言。现在是时候通过一个大项目的案例来介绍一个更为复杂的结构了,它通过面向对象的形式实现。

读者在阅读这些文章后将获得什么收获呢?

  • 本项目的目标是为终端用户提供最为直观的用户界面。我会提供给那些用户界面的开发者一个简单易学及便于使用的代码库,使其能够用于后续开发。
  • 那些即将使用面向对象的方法实施大型项目或者开始学习面向对象编程的开发者,将能找到大量的从开始到实现的学习资料。
  • 有经验的开发者能找到图形用户界面开发库的实例,使其能够开始实现他们的想法。有选择总是好事。
  • 那些能够创建这类程序库的以及有类似程序库的专家可以对我建议的实现方式进行批判和挑战。他们可能能够提出更为合适和高效的方法来实现这类课题,对于初学者来说或许有帮助。这类讨论有时候比文章本身更有意思。

我将这一些列文章中使用的叙述方法称为“思维序列的模拟尝试”。通常,在现实生活中大型项目开发过程中,动作顺序和思维方式都比较混乱,包括许多实 验、尝试和错误。这里我们将跳过所有这些问题。对于那些首次遇到这种规模项目的读者来说,为了更好的理解本文,当研究这个库及其开发过程时建议重复所有的 操作。这一系列的文章提供了一个契机,当大多数问题的答案已经给出并且项目的所有部分都已经按需求创建之后,以理想的顺序进行思维训练。

Fig. 5. Inclusion into the project of the classes for storing pointers and event handling.

作者:Anatoli Kazharski

 
阿纳托利,你打算在画布上绘制所有控件 吗?
 
Igor Volodin:
阿纳托利,您打算在画布上绘制所有控件吗?

在这个版本的库中(在已实施的系列文章中),只能绘制其中的一部分。但以后制作所有绘制元素的类并不难,这些类可以很容易地连接到引擎。甚至已经为此提供了一个特殊的类。所有这些将在接下来的文章中详细介绍。

 

就像这样,从很久很久以前开始。)

最早的图形用户界面是什么样的:从雷达屏幕到个人电脑 >>>>

1962:Sketchpad,第一个图形用户界面程序

//---

Как выглядели первые графические интерфейсы
Как выглядели первые графические интерфейсы
  • www.lookatme.ru
1962: Sketchpad, первая программа с GUI В середине XX века главной задачей инженеров было во что бы то ни стало сделать компьютеры умнее. Ради этого жертвовали всем, и дружелюбностью к пользователям в том числе. Что, впрочем, не мешало мыслителям того времени рассказывать, как со временем компьютеры будут помогать человеку во всём — на языке...
 

文章是已经准备就绪,只待发表,还是正在撰写过程中?最终文章的大概日期是什么时候?

这可能是个有用的东西,我想测试一下 )

 
Andrey Khatimlianskii:

文章是已经准备就绪,只待发表,还是正在撰写过程中?最终文章的大概日期是什么时候?

这可能会很有用,我想测试一下)。

目前已有 14 篇文章准备就绪。总共大约有 20 篇。

出版过程不会很快。很难说大概的时间。充其量也就是每周一到两篇。

 
Anatoli Kazharski:

现在已经准备好 14 篇文章。总共大约有 20 篇。

出版过程不会很快。很难给出一个大致的时间框架。最多也就是每周一到两篇。

该死的地狱这个主题可以有自己的口号:"用户面板食谱,第 238 部分":)
 
Vasiliy Sokolov:
我的妈呀!这个主题可以有自己的口号:"自定义面板食谱,第 238 部分":)

经过讨论,我们决定将整个系列的各个部分分成若干章节,因为各个部分的篇幅都太大了。)

这里的 "口号 "是"图形界面"。

 
Anatoli Kazharski:

经过讨论,决定将整个系列的部分内容分成若干章节,因为这些部分的篇幅过长。)

这里的 "标语 "是 "图形界面"。

我明白了。这个主题肯定很有用。我知道你们的类是基于 MQ 的标准图形库
 
Vasiliy Sokolov:
...我知道你们的类是基于 MQ 的标准图形库?
是的,还有一个用于绘制元素的类,将在第二和第四部分讨论。我们还将举例说明如何使用它。
 
Anatoli Kazharski:
是的,还有一个绘制元素的课程,将在第二和第四部分讨论。还会有如何使用的例子。
太好了。如果可能的话,请提供更多的图形界面实例图片。总的来说,这个主题非常有必要:我们早就应该开始记录标准库 了。