自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

贾迎乐的 blog

ACF, C++, C#, .NET

  • 博客(10)
  • 收藏
  • 关注

原创 使用 GDI+ 绘制有间距的文本

在 .NET Framework 中 Graphics.DrawString 方法提供了基本的文本绘制功能。然而,这个方法本身缺乏对字符格式的控制能力,例如不支持多数文本处理器支持的字符间距(大概微软认为不会有人编写基于 .NET 的文本处理器)。这个问题最简单的解决方法是将整个字符串“化整为零”,一个字符一个字符的按照指定间距画出来。然而这样做会产生大量的临时字符串,而且有巨大的 PInvoke

2004-10-25 11:56:00 6407

原创 C# 2.0 匿名方法与 Windows Forms 异步调用

C# 2.0 匿名方法大大简化了 Windows Forms 异步调用的实现,我们再也不用手工定义异步委托或者包装类了。例如,在下面的代码示例中,Form1 有一个按钮控件和一个列表控件,在按钮控件的单击事件里,我们新建一个线程,在这个线程中向列表控件添加 10 个项目:public class Form1 : System.Windows.Forms.Form{    private Sys

2004-10-02 12:08:00 1411

原创 Windows Forms 1.x 批判

(1)控件少、难以使用且外观很土。其中最夸张的是 ToolBar 控件:(1)设计者认为你对全部按钮要么都使用图标,要么都使用文本标签,否则就是脑子进水了;(2)如果你尝试在 ToolBar 上放置其他控件(如组合框)的话你是在跟自己过不去;(3)最受不了的是居然要用 if ... else 语句判断是哪个按钮被单击了,My God!难怪网上一直流传 Windows Forms 的控件是高中生写的

2004-09-05 16:52:00 1244 1

原创 C++ 枚举类型的思考

C++ 中的枚举类型继承于 C 语言。就像其他从 C 语言继承过来的很多特性一样,C++ 枚举也有缺点,这其中最显著的莫过于作用域问题——在枚举类型中定义的常量,属于定义枚举的作用域,而不属于这个枚举类型。例如下面的示例:enum FileAccess {    Read = 0x1,    Write = 0x2,};FileAccess access = ::Read; // 正确Fi

2004-08-29 00:20:00 5051 4

原创 在 Visual C++ 中控制全局对象的初始化顺序

在 C++ 中,同一个翻译单位(.cpp文件)里的全局对象的初始化顺序是先定义的对象先初始化(同时也后析构),但 C++ 标准并没有规定不同翻译单位间全局对象的初始化顺序。按照这个分析,以下的代码可能工作,也可能不工作(cout 是 C++ 用于输出的全局对象,和我们自己的对象位于不同的翻译单位):class A {    A() {        cout     }    ~A() {  

2004-08-07 22:01:00 3058 2

原创 C++ 和 C# 构造函数的区别

(1)C++ 不允许在一个构造函数中调用另外一个构造函数(称为委派构造函数调用),而 C# 则允许。例如:C++:struct Point {public:    int X, Y;    Point(int x, int y);    Point(Point pt) : Point(pt.X, pt.Y) { } // 错误,C++ 不允许};C#:struct Point { 

2004-08-04 21:28:00 2470 1

原创 .NET 2.0 基础类库中的范型——其他范型类

其他范型类 .NET 2.0 基础类库对范型的应用当然并不仅限于范型集合和 Functional Programming。下面所列的范型类也都有其明确的设计目的和用途。 Array 在.NET 2.0中,Array 类扩充了对范型编程的支持。当然,Array类本身并不是范型类(出于兼容的考虑),而是提供了一系列支持范型的方法。除了前面提到的 Functional Programming 的支持外,

2004-07-20 21:41:00 1254

原创 .NET 2.0 基础类库中的范型——Functional Programming

Functional Programming Functional Programming 不是一个新鲜的概念了,例如 C++ 虽然不是一门 Functional Programming 语言,但对它也有变通的支持——通过使用模板,函数对象(Function Objects)和运算符重载等手段,STL、Boost 等库提供了巧妙无比的、高性能的算法和功能。长久以来似乎 C++ 能实现的这些特性对于

2004-07-20 21:37:00 1162

原创 .NET 2.0 基础类库中的范型——范型集合

范型集合 毫无疑问,范型最典型的应用莫过于范型集合了。在 .NET 2.0 中提供了已有集合类和接口的范型版本,它们位于 System.Collections.Generic 命名空间中。 .NET 2.0 中新的范型集合类并不是简单的在已有非范型集合类的设计上多加了个范型参数 T 而已。新的范型集合类的设计充分吸收了已有设计中的合理之处并摒弃了一些不甚合理之处,同时引入了新的针对范型的设计。所以

2004-07-20 21:33:00 1640 1

原创 第一篇文章

大家好,欢迎来到我的中文blog。我的英文blog是http://blogs.wwwcoder.com/yljia/。 简单介绍一下自己:我叫贾迎乐,毕业于北京邮电大学,曾经是微软的软件开发工程师。在第一届微软杯全国大学生 .NET 软件开发大赛中获得一等奖并应邀访问美国微软总部西雅图。在微软辞职后开发了开放源代码 C++ 开发框架 ACF (http://acfproj.sourceforge.

2004-07-01 21:54:00 1470 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除