65.9K
CodeProject 正在变化。 阅读更多。
Home

CP<sup>2</sup> 通用图形用户界面库 (UGLY) 项目 - 主页

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.05/5 (31投票s)

2003年6月12日

5分钟阅读

viewsIcon

299863

downloadIcon

608

一个图形用户界面库协作项目。

A Code Project Project by Bob's loyal subjects
什么是 CP2
Code Project 项目是一项协作努力,最初由 Joel Holdsworth 发起,后来由 Jamie Hale 推进,旨在通过利用软件开发专业人士的集体知识和专业知识,为所有 CodeProject 用户制作高质量的软件。如果您有关于 CP2 的一般性问题或评论,请将其发送给 Jason Henderson

所有 Code Project 项目都在进行中。在相关领域取得进展之前,并非所有页面都可能可用。在完成之前,请不要对本项目或其文章系列做出评判。谢谢。

CP2 通用图形用户界面库 (UGLY) 项目

 

***注意:该项目正在迁移到新地址。***

它将不再与 CodeProject 相关联,并且将更名为 FLUID UI Toolkit。

其新地址是 http://www.fluiduitoolkit.com

欢迎您加入此项目。要注册,请在 论坛上注册。

关键文档
critical_documents.zip

项目负责人
Justin Dunlap

项目摘要

UGLY 库 - Universal Graphical User Interface LibrarY (通用图形用户界面库) 项目旨在为用户界面设计者提供一套全面、现代且创新的控件和支持类。这些类将允许他们访问新的、易于使用的控件和 UI 布局选项,例如用户可配置的菜单和工具栏、浮动窗口等。

范围

项目初期,将致力于创建一套标准的 Windows 控件,这些控件将可以无缝替换现有的控件。这些替换控件将具有扩展功能和绘图能力——具体能力取决于控件类型。

以此方式开始,我们可以使项目保持小型并在此基础上进行扩展,我们需要看看人们的热情有多高,而小巧易懂的部分更容易被接受。

技能要求

看起来我们需要的人才是有开发 Windows 控件经验的人。我本人在这方面有丰富的经验。我们正在使用 C#(用于 .NET)和 C++(用于 Win32)实现控件,所以我们需要有其中一种或两种语言经验的人。

架构

由于项目由控件/组件组成,因此很容易将其划分为子部分。除了控件本身,还将有:

  • 一个基础框架
  • 一个基础控件类(或多个)
  • 一个示例应用程序(一个或多个)——一开始,我建议做一个位图编辑器(功能比 Paint 强大一些)和一个富文本编辑器(类似 WordPad)。

我们将有一个用于框架的 DLL,还有一个用于基本控件的 DLL。对于特殊控件,应该为每类控件创建一个 DLL——一个用于所有特殊的 listview 相关控件,一个用于所有特殊的 button 相关控件,等等。

我们将要提供增强支持的一些领域是:

  • 打印功能 - 控件应具有 GetRendering() 方法,该方法获取控件的渲染。
  • 所有者绘制/可皮肤化 - 通过高级渲染/行为子系统。
  • 更好的 UI

用户视图

由于目标用户是应用程序程序员,我们需要对类和 API 进行充分的文档说明。在所有类中保持一致性是必须的。起初,我们将仅在 XML 中定义接口,并使用我为此目的创建的 XSLT 转换来查看。但最终,我们可能需要使用自动文档系统(我正在为 C++ 寻找一个)。

我们在这里的目标是让目标受众的生活尽可能轻松。您想要一个以 0.01 为单位递增的 spin 控件?没问题!等等。

我们可能支持的控件列表

标准

非标准

非常规

  • treeview
  • listview
  • listbox
  • combobox
  • fontcombo
  • ip address box
  • masked edit control
  • property page
  • grid control
  • button
  • 工具栏
  • rebar
  • commandbar
  • richedit control
  • MDI tabs
  • 图表
  • date picker
  • 日历
  • (marquee)
  • slider
  • tab page
  • explorer treeview
  • explorer listview
  • progress bar
  • syntax highlight numbered text control
  • property grid
  • statusbar
  • updown - spin?
  • scrollable viewport
  • monthview
  • ruler
  • commandbar
  • treelistview
  • listbar (outlook-style)
  • toolbox listbar
  • 时钟
  • dial
  • range picker
  • skinnable popup - for balloons, etc.
  • data navbar
  • collapsible panel
  • color picker bar - functionality is like scrollbar
  • color palette
  • color picker gradient - round, square, etc
  • auto-complete textbox
  • image-calendar
  • time-scheduler
  • topiclist
  • imagelistview
  • appbar
  • wizard ctl
  • advanced message box
  • analog meter control
  • peak-meter
  • number ticker (like odometer)
  • colorcombo
  • lcd display
  • dockable / pinnable dialogs
  • LED controls
  • enhanced MessageBox
  • radio dial/wheel
  • dockable slide panels/drop down lists
  • maybe a door control
  • book pages control
  • a control like the flexible PowerBuilder datawindow
  • a sticky-note control or undockable thumbtacks (stick a note anywhere on the window and move it anywhere)
  • a rolodex control
  • file cabinet control (user can lable outside and drag and drop things in and out)
  • flip switches (like a light switch)
  • springy Slinky-like dropdown list control (release and it springs back up)
  • slot machine lever control

I am especially interested in a commandbar and an image thumbnail viewer.

历史

2003年6月12日 - 发布

<其他更新 - 未记录>

2003年7月31日 - Justin Dunlap 更新 - 进行了一次全面更新。

其他 CP2 项目

缺陷跟踪和源代码管理项目
脚本框架项目


像本项目这样的团体项目,如果没有有奉献精神的个人的帮助是无法成功的。如果您有兴趣抽出时间和专业知识来支持本项目,请在此页面的 VOLUNTEERS 线程中发表留言,项目负责人将与您联系进行确认。

© . All rights reserved.