基于图片的皮肤系统和 MPEG 解码器






4.86/5 (23投票s)
2000年7月28日

451101

13912
一个基于图片的 MFC 皮肤系统,允许用户自定义他们的对话框。该系统通过展示一个功能齐全的 MPEG 解码器应用程序来演示。
SkinSys Ver 1.0
一个基于图片的 MFC 皮肤系统。基于 FriendSoft 的 (www.yeah.net/FriendSoft) SkinForm。
SkinSys 版权所有 2000 Cüneyt ELÝBOL (www.celibol.freeservers.com)
包含
- CSkinsys 代码
- 简单的皮肤编辑器
- 一个漂亮的 MPEG 1,2,3 解码器 (版权所有 www.eldos.org - 基于 MAPlay 解码器)
- MPEGPlayer 项目(未完成。它只是一个示例。)
目录
- 解码器:MPEG 解码器代码
- 编辑器:Skin编辑器文件
- 示例:示例皮肤文件
- SkinSys:CSkinsys 源代码
- 根目录:MPEGPlayer 项目
要求
该系统仅需要 "OleLoadPicture
" 函数。(请参阅 Skindialog.cpp 中的 LoadPictureFile
函数。)
如何使用
请阅读这些说明,并查看示例目录和 MPEGPlayer
项目
- 绘制遮罩位图
- 绘制主位图
- 如果您需要或想要
- 绘制鼠标悬停位图
- 绘制鼠标按下位图
- 绘制禁用位图
- 运行 Skin编辑器
- 选择“屏幕”选项卡
- 填充所有图片
- 如果需要,选择“预览”按钮
- 保存并退出
- 运行 Visual Studio
- 创建一个基于对话框的新项目(例如,对话框名称 =
CBaseDialog
) - 包含 "SkinDialog.h"(例如,在 "StdAfx.h" 中)
- 将
CBaseDialog : public CDialog
更改为CBaseDialog : public CSkinDialog
- 转到
CBaseDialog::OnInitDialog
并添加这些行char m_skin[512]; sprintf(m_skin, "<Your Skin Name>"); // If you want a menu < Activate to Right click > add this line SetMenuID(IDR_MAINMENU); // If you Want Caption SetWindowText("MPEG Player"); // Set To My SkinFile SetSkinFile(m_skin); CSkinDialog::OnInitDialog();
- 编译并运行。
控制按钮点击、滑块、进度条、文本等等
如果您希望在基类(CSkinDialog
)中处理这些事件
void ProgresChanged(CString m_Name); // 如果进度发生变化
void MouseMoved(CString m_ButtonName, int x, int y); // 如果鼠标移动
void TrackChange(CString m_ButtonName, UINT nSBCode, UINT nPos); // 如果滑块发生变化
void ButtonPressed(CString m_ButtonName); // 如果按钮被按下
您应该将这些函数添加到您的 CBaseDialog
类中。
更改工具提示
使用 Set<xxx>ToolTip
函数。 <xxx> 是 Button、Text...
例如
SetButtonToolTip("BUTTON_USEEQ", "Equalizer is On");
获取值
使用 Get<xxx>
函数
例如
BOOL useEQ = GetButtonCheck("BUTTON_USEEQ"); // if BUTTON_USEEQ checked
设置值
使用 Set<xxx>
函数
例如
SetButtonCheck("BUTTON_USEEQ", useEQ); // if useEQ = True BUTTON_USEEQ is checked
注释
感谢您对 CSkinsys 的兴趣。这是第一个版本,可能存在错误和缺陷。请向我报告任何错误或问题,或者任何问题。
许可证
本文未附加明确的许可证,但可能在文章文本或下载文件本身中包含使用条款。如有疑问,请通过下面的讨论区联系作者。
作者可能使用的许可证列表可以在此处找到。