📄 ledemuwnd.h
字号:
#pragma once
#include <mzfc_inc.h>
//这个窗口是主要的显示窗口.
//数据全部从ini文件中取出.
//如果要设置,只将ini文件路径传递到选择窗口
//选择窗口也全部是由ini文件得到参数.
//
class CLedEmuWnd :
public CMzWndEx
{
MZ_DECLARE_DYNAMIC(CLedEmuWnd);
public:
CLedEmuWnd(void);
~CLedEmuWnd(void);
protected:
BOOL OnInitDialog();
LRESULT MzDefWndProc(UINT message,WPARAM wParam,LPARAM lParam);
HDC SaveBitMapDC[3];//保存灯亮点图片的DC
HBITMAP SaveBitMapBmp[3];//保存灯亮点图片的Bmp;
int SaveLedSize[3];//保存每张图片中LED点的象素
int DotSizeSelect;//当前选择的是哪个LED距阵
//虚拟LED屏左上角的开始点,基本上没有什么意义,只是一开始有这个数据,所以一直保留
int BaseX,BaseY;
//重载OnPaint
void OnPaint(HDC hdc,LPPAINTSTRUCT ps);
//由Text创建虚拟LED数据缓冲(cVirtualLedDotBuf)
void LoadVirtualLedFromText(wchar_t *sDis);
//由图片创建虚拟LED数据缓冲(cVirtualLedDotBuf)
void LoadVirtualLedFromBmp(wchar_t *BmpName);
//由HDC创建虚拟LED数据缓冲(cVirtualLedDotBuf)
//为上面两个函数服务,上面两个函数只是创建一个HDC,将此HDC和大小调用此函数就OK了
void GetDCPixel2LedBuf(HDC tmpDC,int SizeX,int SizeY);
//从INI文件加载
void LoadNewString();
//从完整虚拟LED缓冲区cVirtualLedDotBuf拷贝到cLedDotBuf(显示缓冲)
void CopyVirtruaLed2DisBuf();
//所有屏幕上虚拟LED点的数据映象
//.7表示是否需要刷新,
//.2.1.0表示当前颜色的色深
//.6.5.4.3表示当前使用的颜色,当.2.1.0为零时,无效(黑点)
UCHAR *cLedDotBuf;
UCHAR *cVirtualLedDotBuf;//虚拟的LED点缓冲区,此缓冲区始终与需要卷动的范围相当,将所有需要卷动的信息都保存在里面。
int LedSizeX,LedSizeY;//当前屏幕上有多少个横向点,纵向点。
wchar_t WorkPath[255];//工作路径
wchar_t IniName[255];//配置文件
//鼠标手势的参数
int StartX,StartY;//按下时位置
int StartPos;//按下时卷动的位置
//显示的参数
int Color,Type,Delay;//颜色,类型(0-文字,1-图片),Delay-决定速度
int ScrollSize;//要卷动的范围(即cVirtualLedDotBuf缓冲区表示的长度大小)
int ScrollPos;//当前卷动的位置
BOOL AccOK;//重力感应是否成功
BOOL Pause;//暂停
BOOL SwitchPauseSta;//是否需要切换暂停状态
BOOL AutoPause;//自动暂停(启动运行或保存设置后)
DWORD BackLightSave;//背光亮度保存,在退出时恢复
DWORD ScreenSta;//转屏状态
DWORD TimeSave;//阻止锁屏的时钟计数
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -