找回密码  加入

AUTOIT CN

搜索
查看: 181|回复: 4

[网络通信] 【已解决】关于状态栏颜色的小问题

[复制链接]
发表于 2021-2-25 22:24:10 | 显示全部楼层 |阅读模式
本帖最后由 anythinging 于 2021-2-26 11:33 编辑

遇到个小问题,背景色和状态栏用的是同样的代码,但显示 的颜色却不一样,系统是win10帮助文件中的这句不是很理解 ,返回 RGB COLORREF 颜色, 传递颜色值必须是 16 位 BGR 颜色值, 或 RGB COLORREF 值.
感谢指点!
  1. #include <ColorConstants.au3>
  2. #include <GUIConstantsEx.au3>
  3. #include <GuiStatusBar.au3>
  4. #include <WinAPITheme.au3>

  5. Example()

  6. Func Example()
  7.     Local $hGUI, $hStatus
  8.     Local $aParts[3] = [75, 150, -1]
  9.     ; 创建 GUI
  10.     $hGUI = GUICreate("设置状态栏背景颜色", 400, 300)
  11.    GUISetBkColor(0x0000FF)

  12.         $hStatus = _GUICtrlStatusBar_Create($hGUI)
  13.     GUISetState(@SW_SHOW)

  14.     ; to allow the setting of Bk Color at least under Windows 10
  15.     _WinAPI_SetWindowTheme($hStatus, "", "")

  16.     ; 设置部件
  17.     _GUICtrlStatusBar_SetParts($hStatus, $aParts)
  18.     _GUICtrlStatusBar_SetText($hStatus, "部件 1")
  19.     _GUICtrlStatusBar_SetText($hStatus, "部件 2", 1)
  20.     _GUICtrlStatusBar_SetText($hStatus, "部件 3", 2)

  21.     ; 设置背景颜色
  22. ;~     _GUICtrlStatusBar_SetBkColor($hStatus, $CLR_MONEYGREEN)
  23.         _GUICtrlStatusBar_SetBkColor($hStatus, 0x0000FF)

  24.     ; 循环到用户退出.
  25.     Do
  26.     Until GUIGetMsg() = $GUI_EVENT_CLOSE
  27.     GUIDelete()
  28. EndFunc   ;==>Example
复制代码


发表于 2021-2-25 23:13:40 | 显示全部楼层
一个是 RGB 一个是 BGR,顾名思义,需要替换下前两位后两位的位置,可以 Bit 位操作,也可以纯字符串操作

  1.         ; 设置背景颜色
  2.         _GUICtrlStatusBar_SetBkColor($hStatus, _sRGB2BGR('0x0000FF'))

  3. Func _sRGB2BGR($sRGB)
  4.         Return StringRegExpReplace(StringFormat('%06s', StringRegExpReplace($sRGB, '(?i)^0x', '')), '(?i)^(..)(..)(..)', '0x${3}${2}${1}')
  5. EndFunc   ;==>_sRGB2BGR
复制代码

评分

参与人数 1金钱 +40 收起 理由
anythinging + 40 神马都是浮云

查看全部评分

回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-2-25 22:28:27 | 显示全部楼层
之前设置gui,button一直用的是0x16进制颜色代码都是正常的,直到这次用在状态栏上不一样了。
 楼主| 发表于 2021-2-26 11:32:48 | 显示全部楼层
感谢指点,已解决。
就算知道原因也没撤,不会写A版的那个表达式。
发表于 2021-2-27 13:30:25 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入

x
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|小黑屋|手机版|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2021-4-23 08:39 , Processed in 0.140625 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表