diff --git a/TrafficMonitor/Common.cpp b/TrafficMonitor/Common.cpp index 96eeaed..f2d4267 100644 --- a/TrafficMonitor/Common.cpp +++ b/TrafficMonitor/Common.cpp @@ -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--; diff --git a/TrafficMonitor/Common.h b/TrafficMonitor/Common.h index f4908a4..41c5ec5 100644 --- a/TrafficMonitor/Common.h +++ b/TrafficMonitor/Common.h @@ -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); diff --git a/TrafficMonitor/TrafficMonitor.cpp b/TrafficMonitor/TrafficMonitor.cpp index f8875a3..65399cd 100644 --- a/TrafficMonitor/TrafficMonitor.cpp +++ b/TrafficMonitor/TrafficMonitor.cpp @@ -113,7 +113,7 @@ void CTrafficMonitorApp::LoadConfig() //浠诲姟鏍忕獥鍙h缃� 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);