mirror of
https://github.com/zhongyang219/TrafficMonitor.git
synced 2026-10-28 05:57:39 +08:00
透明色转换的处理更新
This commit is contained in:
@@ -821,7 +821,7 @@ void CCommon::TransparentColorConvert(COLORREF& transparent_color)
|
||||
BYTE r = GetRValue(transparent_color);
|
||||
BYTE g = GetGValue(transparent_color);
|
||||
BYTE b = GetBValue(transparent_color);
|
||||
if (r == g && g == b)
|
||||
if (r == b)
|
||||
{
|
||||
if (b >= 255)
|
||||
b--;
|
||||
|
||||
@@ -131,9 +131,9 @@ public:
|
||||
//设置颜色模式
|
||||
static void SetColorMode(ColorMode mode);
|
||||
|
||||
//此函数的作用是判断一个颜色是否为灰色,如果是则转换成不是灰色的颜色,这里是将颜色的B值加1(如果B==255,则减1)
|
||||
//经过测试发现,当透明色为灰色时,会出现右击任务栏窗口时无法弹出右键菜单,而是弹出系统任务栏右键菜单的问题
|
||||
//为了解决这个问题,如果要设置的透明色为灰色时,则将颜色中B的值加1
|
||||
//经过测试发现,似乎当透明色的R和B值相等时,会出现右击任务栏窗口时无法弹出右键菜单,而是弹出系统任务栏右键菜单的问题
|
||||
//为了解决这个问题,需要将颜色值进行转换
|
||||
//此函数的作用是判断一个颜色的R和B值是否相等,如果是则将颜色的B值加1(如果B==255,则减1)
|
||||
static void TransparentColorConvert(COLORREF& transparent_color);
|
||||
|
||||
static void SetDialogFont(CWnd* pDlg, CFont* pFont);
|
||||
|
||||
@@ -113,7 +113,7 @@ void CTrafficMonitorApp::LoadConfig()
|
||||
//任务栏窗口设置
|
||||
m_taskbar_data.back_color = ini.GetInt(_T("task_bar"), _T("task_bar_back_color"), m_taskbar_data.dft_back_color);
|
||||
m_taskbar_data.transparent_color = ini.GetInt(_T("task_bar"), _T("transparent_color"), m_taskbar_data.dft_transparent_color);
|
||||
if (m_taskbar_data.back_color == m_taskbar_data.transparent_color) //如果读取到的任务栏背景色和透明色相同,即任务栏背景透明,则如果颜色是灰色,需要将其转换成不是灰色的颜色
|
||||
if (m_taskbar_data.back_color == m_taskbar_data.transparent_color) //如果读取到的任务栏背景色和透明色相同,即任务栏背景透明,则需要将颜色转换一下
|
||||
{
|
||||
CCommon::TransparentColorConvert(m_taskbar_data.back_color);
|
||||
CCommon::TransparentColorConvert(m_taskbar_data.transparent_color);
|
||||
|
||||
Reference in New Issue
Block a user