文章 "图形界面 X: 时间控件, 复选框列表控件和表格排序 (集成编译 6)"

 

新文章 图形界面 X: 时间控件, 复选框列表控件和表格排序 (集成编译 6)已发布:

创建图形界面的函数库开发续篇。这次会涵盖时间和复选框列表控件。此外, CTable 类现已提供按照升序或降序对数据排序的能力。

我们来列举时间控件的所有组件:

  • 背景
  • 图标
  • 描述
  • 两个编辑框

图例. 1. 时间控件组件

图例. 1. 时间控件组件

作者:Anatoli Kazharski

 

我有一些具体问题:

1. 表格中是否有一行列名,在垂直滚动时保持不动,还是会跳出可视范围?关于第一列的行名也有类似的问题--当水平滚动 滑块向右移动时,它是否会向左移动?

2.2. 列的宽度是否会改变?

3. 上例中的表格是在画布上绘制的,还是由对象组成的?

 
Реter Konow:

我有一些具体问题:

1. 表格中是否有一行列名,在垂直滚动时保持不动,还是会跳出可视范围?关于第一列的行名,也有类似的问题--当水平滚动滑块向右移动时,它是否会向左移动?

2.2. 列的宽度是否会改变?

3. 上例中的表格是在画布上绘制的还是由对象构成的?

这些模式是可以自定义的。也就是说,第一行和第一列可以是固定的(做成标题),它们不会随表格数据滚动。

2.在本文中,更新涉及CTable 类型的表格。其中,列的宽度会自动调整为表格的总宽度。

3CTable 类型的表格由OBJ_EDIT 类型的标准图形对象构成。

其他表格类型及其已发布的更新可在以下文章(包括本文章)中找到:

在接下来的文章中还将更新列表和表格。还有很多工作要做。

 
Anatoli Kazharski:

1. 这些模式是可定制的。也就是说,第一行和第一列可以是固定的(做成标题),它们不会随表格数据滚动。

2.在本文中,更新涉及CTable 类型的表格。其中,列的宽度会自动调整为表格的总宽度。

3CTable 类型的表格由OBJ_EDIT 类型的标准图形对象构成。

其他表格类型及其更新可在以下文章(包括本文章)中找到:

在接下来的文章中还将更新列表和表格。还有很多工作要做。

我已经在文章中详细阅读了这些材料。原则上,建议的类和方法可以为用户创建必要的表格,其质量和周到程度令人满意。当然,您可以在表格单元格中添加插入不同元素(例如复选框、下拉列表)的功能,但这是将来的事。

我建议你们考虑一下使用拟议技术的劳动强度。客观地说,劳动强度还是存在的。

这些开发成果的广泛使用和应用还取决于使用的简便性。这一点几乎无可辩驳....。

为了简化创建表格的过程,我建议为用户开发一种简单的方法,通过这种方法,用户无需学习任何知识即可创建必要的表格,但考虑到培训 用户的需要,我认为劳动密集程度越高越好...

 
Реter Konow:

...

为了简化创建表格的过程,我建议开发一种简单的方法,让用户无需学习任何知识就能创建表格,但考虑到用户培训的 需要,我认为劳动强度越大越好....。

为开发人员详细介绍了库的内部结构。也就是说,对于那些正在学习编程的人来说,这些基于真实项目的示例将非常有用。对于不想为创建图形界面的 库而伤透脑筋的用户,每篇文章都有测试应用程序,展示如何创建这个或那个控件的简单方法示例。

奇怪的是,在阅读了本系列的所有文章之后(您也一再表明您阅读了所有文章),您还需要向我解释这个问题。

 
Anatoli Kazharski:

为开发人员详细介绍了库的内部结构。也就是说,对于那些正在学习编程的人来说,这些基于真实项目的示例将非常有用。对于不想费力创建图形界面 库的用户,每篇文章都有测试程序,展示如何创建这个或那个控件的简单方法示例。

奇怪的是,您在阅读了本系列的所有文章后(您一再表明您阅读了所有文章),还需要向我解释这些。

遗憾的是,我还是没有仔细阅读这些文章。通常,我只看图片中的图形,因为它们是整个开发过程的精髓。

如果我开始深入研究整个代码,恐怕会在方法上与您产生更多的分歧。

不过,您的文章对程序员教学的帮助是显而易见的。

附注:更确切地说,我认为劳动和实践是学习和掌握技能的基础。在教育中应避免不必要的 "放松"。例如,在小学使用计算器会使数学课变得毫无意义。事实证明,如果给一年级学生使用计算器,他们就学不会正确的计算。他们需要的是死记硬背和用手指解释。但是,如果有人在学校附近出售这些计算器有利可图呢?那我们该怎么办?

我认为应该向孩子们解释,他们不应该使用计算器,因为计算器会影响他们的学习....。有良知的孩子一定会听你的)))。
 

感谢您的文章.......

好了,现在我们可以制造太空时代的面板了。

(现在要做的是如何利用这些财富)。

 
Реter Konow:

遗憾的是,我还没有仔细阅读这些文章。通常,我只看图片中的图形,因为它们是整个发展的精髓。

我希望这样只看图片的读者很少。)

对于图书馆的普通用户,我们将单独撰写一篇文章,重点介绍如何使用图书馆,而不会深入探讨图书馆的内部运作。此外,还将提供详细的文档,说明用户可从其自定义类中获得的方法。但这还不是时候。在此之前,许多有用和必要的功能都将实现。

 
Anatoli Kazharski:

我希望这样只看图片的读者很少。)

对于该库的普通用户,我们将单独撰写一篇文章,重点介绍如何使用该库,而不会深入探讨其内部结构。此外,还将提供详细的文档,介绍用户自定义类中可用的方法。但这还需要一段时间。在此之前,还将实现更多有用和必要的功能。

我再重复一遍:不幸的是,我还没有阅读和深入研究您的库实现的细微差别。 这是我的劣势。

今后,当我有更多的空闲时间时,我会从头开始研究你们的程序库,了解所有的解决方案。 但那时,我会以技术上合理的方式详细评论和批评我所看到的一切无效之处,并同时提供其他解决方案。你可能不喜欢,但我别无他法。


附注:您将来要做的事情是正确的。继续开发图书馆。

 
Реter Konow:

...

今后,当我有更多的空闲时间时,我会从头开始研究你们的资料库,了解所有的解决方案。 但随后,我会以技术上合理的方式详细评论和批评我所看到的一切无效之处,并同时提供其他解决方案。您可能不喜欢这样,但我别无他法。

...

只有在你开始批评之前,你必须读完整个系列,因为从第 10 部分开始就会有补充和更正。如果您的解决方案在技术上是行之有效的,即可以用代码实现,并且可以进行测试,在此基础上可以得出正确的结论,那么我就会喜欢您的方案。相反,我会非常高兴。)

 
Anatoli Kazharski:

只是在你开始批评之前,你必须读完整个系列,因为从第 10 部分开始会有补充和更正。如果您的解决方案在技术上是行之有效的,即可以用代码实现并能够进行测试,在此基础上得出正确的结论,那么我就会非常喜欢。相反,我会非常高兴。)

成交)。