我的2010

2010年就这样过去了,不得不感叹时光匆匆,忙忙碌碌地过了一年,在新年伊始,给自己放个小假,回顾一下过去的一年,看看自己都做了些什么。

 

首先,对自己的博客说声抱歉,过去的一年里对你照顾不周,虽然翻译了很多,写了很多,但那都是属于InfoQ 或者出版社的,并没有太多的东西放上博客,尤其是自己把博客分为了技术站生活站 ,东西看上去就更少了。抱歉,新的一年里我一定多写一点自己的东西。

 

不知何时,我给自己定了个目标,就是30岁之前争取每年翻译一本书,于是2009年底到2010年上半年我都在翻译和校对《Coders at Work》,这本书因为每章都是对一位大牛的采访,所以比较适合团队翻译,图灵邀请了10来位译者一起翻译,我负责Brad Fitzpatrick那章,顺便也替Tinyfool的那章做了审稿。在2010年的12月31日,我收到了出版社寄来的样书,算是自己在去年收到的最 后一份礼物吧——《编程人生——15位软件先驱访谈录》 。从去年年底开始,我则是在翻译《RESTful Web Services Cookbook》 ,同样是与他人合作,不同的是我承担了大部分工作,希望今年年底这本书出版时,能帮助读者更好地了解REST。如果有机会,2011年下半年搞本与Hadoop 有关的书来翻译一下吧。

 

说起InfoQ中文站,成为网站的编辑也有不少时间了,除了日常翻译一些新闻和深度内容之外,也渐渐地养成了这么一个习惯,出席技术社区活动时会想着写篇报道什么的,比如那篇关于第二届RubyConf China的报道 ,应该是我过去一年自己最喜欢的一篇原创新闻了,原因是我把它翻译成了英文放上了InfoQ总站 ,总是看到国外有这样那样的活动报道,这次终于也能让老外看看,在中国我们也有很好的技术交流,有一群人在默默地奉献自己的时间和精力。说到这里请让我感谢一下Shanghai On Rails社区和TopGeek 的朋友们,尤其是Dlee、Sting和Daniel等组织者,你们辛苦了。

 

工作,自然是过去一年的主旋律,大大小小地做了好几个项目,有点厌倦轻骑兵和空降兵的角色了,哪个项目有困难就去哪个项目组。同样是在年底,在经历 了一次又一次变化后,我的工作看似会在新的一年里更接近我想做的东西。去年下半年和几T的数据纠结了好久,虽然麻烦,但的确很有意思,这里有着不太能在外 面遇到的场景和要求,我期待着自己能在100T、1P数据到来时从容应对,为用户提供更好的服务。从和我一路走来的同事身上,我也学到了一些东西,比如, 什么是钻研,当DBA说这个查询就这样,不能再优化了的时候,他能研究上几个晚上,最后尝试调整MySQL索引顺序,让性能迅速提升,这也算是不迷信专业 人士吧:-)

 

自己离开校园时的样子还历历在目,没想到这么快,我也成了校园招聘的面试官,面了多少人,改了多少笔试题,我已经不记得 了,不过我要感叹一声,大学计算机教育该想想怎么改革了,否则既培养不出真正“计算机科学”需要的人才,也培养不出企业需要的精英。基础固然要紧,要好好 教,但也别让学生的知识与行业太脱节。想起了蔡学镛 前不久在微博上说的一句话:

当外面的世界在用电脑时,学校在教算盘;当外面的世界进入Web时代,在用Java、C#,甚至脚本语言时,学校在教十多年前的MFC。学校只教老师会的东西,不教学生需要会的东西。这不是计算机工程系,而是计算机考古系。

忙碌之余,我还去了次普吉岛,2010年下半年,我博客唯一的更新,估计就是我的游记 了,见识了普吉岛的碧海蓝天之后,回来看看自己生活的城市,空气质量真是没法比啊,站在公司天台向四处张望一下,远处就是灰茫茫的一片。这难道就是“城市,让生活更美好”的写照?

 

新的一年,给自己一个好的开局,多看、多学、多写,希望自己能离理想更近一步,离成功更近一步。顺便提一下,最近应泰稳邀请,注册了一个新浪微博,@DigitalSonic ,欢迎围观,至于之前就有的另一个微博,同样的ID,你能上的话,也同样欢迎。

明白了!以下是使用 **Visual Studio 2010** 创建一个 **MFC单文档应用程序(项目名称:ZZZ)并实现左右分割窗口** 的完整详细步骤,从创建项目到添加头文件、类定义和代码实现,全部按照顺序列出。适用于 VS2010 环境。 --- ## ✅ 第一步:创建 MFC 单文档项目 1. 打开 **Visual Studio 2010**。 2. 点击菜单栏 `文件 → 新建 → 项目`。 3. 在“新建项目”对话框中: - 模板选择:**Visual C++ → MFCMFC 应用程序** - 输入项目名称:`ZZZ` - 点击“确定” 4. 进入 MFC 应用程序向导: - 第一页:应用程序类型选择 **单个文档** - 第二页:勾选 **文档/视图体系结构支持** - 其他选项保持默认,点击“完成” > Visual Studio 会自动生成以下类: > - `CZZZApp` > - `CMainFrame` > - `CZZZDoc` > - `CZZZView` --- ## ✅ 第二步:添加左侧视图类 `CLeftView` 1. 右键点击项目 → 添加 → 类。 2. 选择 **MFC 类向导** 3. 类名输入:`CLeftView` 4. 基类选择:`CView` 5. 完成创建。 ### 修改 LeftView.h(添加宏) ```cpp // LeftView.h #pragma once class CLeftView : public CView { protected: CLeftView(); // 只能在序列化中创建 DECLARE_DYNCREATE(CLeftView) public: virtual void OnDraw(CDC* pDC); // 绘制函数 }; ``` ### 修改 LeftView.cpp(实现绘图功能) ```cpp // LeftView.cpp #include "stdafx.h" #include "ZZZ.h" #include "LeftView.h" IMPLEMENT_DYNCREATE(CLeftView, CView) CLeftView::CLeftView() { } CLeftView::~CLeftView() { } void CLeftView::OnDraw(CDC* pDC) { pDC->SetBkMode(TRANSPARENT); pDC->TextOutW(20, 20, _T("这是左侧窗格")); } ``` --- ## ✅ 第三步:修改主框架类 `CMainFrame` 实现分割窗口 ### 修改 MainFrm.h(添加成员变量和重写函数) ```cpp // MainFrm.h #pragma once class CMainFrame : public CFrameWnd { public: CSplitterWnd m_wndSplitter; // 分割窗口对象 protected: virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext); }; ``` ### 修改 MainFrm.cpp(实现分割逻辑) ```cpp // MainFrm.cpp #include "stdafx.h" #include "ZZZ.h" #include "MainFrm.h" #include "LeftView.h" // 左侧视图头文件 #include "ZZZView.h" // 默认视图类(根据你的实际类名调整) BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { // 创建静态分割窗口(1行2列) if (!m_wndSplitter.CreateStatic(this, 1, 2)) { TRACE0("分割窗口创建失败\n"); return FALSE; } // 创建左窗格视图(固定宽度200像素) if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(200, 0), pContext)) { TRACE0("左窗格创建失败\n"); return FALSE; } // 创建右窗格视图(默认文档视图) if (!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CZZZView), CSize(0, 0), pContext)) // 替换为你自己的视图类名 { TRACE0("右窗格创建失败\n"); return FALSE; } // 设置活动视图为右侧视图 SetActiveView((CView*)m_wndSplitter.GetPane(0, 1)); return TRUE; // 成功 } ``` --- ## ✅ 第四步:确保运行时类注册 确保所有视图类都包含正确的运行时类支持: - 在 `LeftView.h` 中有: ```cpp DECLARE_DYNCREATE(CLeftView) ``` - 在 `LeftView.cpp` 中有: ```cpp IMPLEMENT_DYNCREATE(CLeftView, CView) ``` - 在 `ZZZView.h` 和 `ZZZView.cpp` 中也应包含: ```cpp DECLARE_DYNCREATE(CZZZView) IMPLEMENT_DYNCREATE(CZZZView, CView) ``` --- ## ✅ 第五步:编译并运行项目 1. 点击菜单栏 `生成 → 重新生成解决方案` 2. 点击调试按钮或按下 `Ctrl + F5` 启动程序 3. 运行后你将看到一个带有左右两个窗格的界面: - 左边是 `CLeftView` 显示的内容 - 右边是默认的 `CZZZView` --- ## ✅ 注意事项(VS2010 特别提示) 1. **项目配置平台为 Win32** - 如果出现链接错误,请检查项目属性中的平台是否为 Win32(不是x64) 2. **资源文件路径问题** - 确保没有中文路径,否则可能影响编译 3. **MFC库设置** - 默认是动态链接 MFC,如需静态链接可在项目属性中更改 --- ##
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值