阿坤的BLOG

天地生人,有一人应有一人之业;人生在世,生一日当尽一日之勤

2008年02月

原创 TM皮肤调色板不完全实现(4) --基本功能的实现

滑块已经基本实现我们的要求了。 接下来实现基本功能: 1.RGBHSV(新建一个类 CColorConvert) 头文件ColorConvert.h // ColorConvert.h: interface for the CColorConvert class. // /**/////////////////////////////////////////////////////////////////////// #if !defined(AFX_COLORCONVERT_H__C06B43EE_791D_407B_ADC2_3A3EA91FE13C__INCLUDED_) #define AFX_COLORCONVERT_H__C06B43EE_791D_407B_ADC2_3A3EA91FE13C__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 typedef struct...{ int R; int G; 阅读全文>

发表于 @ 2008年02月23日 10:52:00|评论(loading...)|编辑

原创 TM皮肤调色板不完全实现(3) --滑块的完善

上一篇中,滑块的基本功能已经实现了。但是外观上还不能满足我们的要求。 这里我们将主要完善滑块轨道的外观: 这里我们要准备三副图片 存放在/res/文件夹下,分别表示色调,饱和度和亮度 H.gif S.gif B.gif 这里我采用的gif图片,而不是bmp位图;主要是色彩上gif更能满足我的要求。 我利用IPicture将这图片加载到程序中,当然还可以用GDI+实现。 自定义函数:CNewSlider::DrawBKChannel(CDC *pDc, CRect rc) 阅读全文>

发表于 @ 2008年02月23日 10:43:00|评论(loading...)|编辑

原创 TM皮肤调色板不完全实现(2) --滑块的实现

TM皮肤调色板有三个滑块,分别是调节色调,饱和度, 亮度来用的。 MFC自己的滑块虽然可以达到我们的事件的需求;但是外观上不如TM的好看。 接下来我要实现这个滑块的效果,由于毕业以后就没搞过VC了,基本忘得差不多了;基本思想还是要从CSliderCtrl派生出一个新的类,在这个类里需要做以下几件事: 1,重绘滑块 2,重绘轨道 3,要求控件透明,因为我们看到TM的滑块控件也是透明的,因此我们也有必要实现该功能。 这里就偷懒了,因为已经有巨人写了这样的控件,我们先把这个巨人的东西借来用用吧: 可以到这里看看巨人的东西:http://www.codeproject.com/KB/miscctrl/transparentslider.aspx 测试效果: 现在的效果比MFC自带的要好看一些了,但是与TM的还有一段差距;还需要我们站在巨人肩膀上去改进。 今天暂时站在巨人肩膀上,明天继续改进.. 阅读全文>

发表于 @ 2008年02月22日 11:13:00|评论(loading...)|编辑

原创 TM皮肤调色板不完全实现(1)

先看看TM2008的皮肤调色板: 虽然简单,也还是很漂亮的。 接下来,我将一步一步去(非完全)实现该调色板。 建立MFC工程 添加: typedef struct { COLORREF crColour; TCHAR *szName; } ColourTableEntry; 新建类 CColorPanel 继承CWnd;给该类添加一个变量:CRect m_WindowRect;用于保存该面板的大小;在添加CWnd* m_pParent; 用于保存父窗体指针。添加静态变量: static ColourTableEntry m_crColours[]; ColourTableEntry CColorPanel::m_crColours[] ={ {RGB(147,210,247), _T("Blue") }, {RGB(137,184,224), _T("GrayBlue") }, {RGB(189,103,234), _T("Purple") }, {RGB(110,196阅读全文>

发表于 @ 2008年02月21日 13:16:00|评论(loading...)|编辑

Csdn Blog version 3.1a
Copyright © 阿坤