更改选项卡控制AutoIt中的背景颜色

时间:2016-09-08 05:57:59

标签: windows autoit

我正在处理一个处理大量标签控件的应用程序。每个Tab项具有不同的颜色。我看了谷歌并得到了一个解决方案,但这还不够。每个人都更改了标签项颜色而不是标签控件本身。

好的,这太容易了。 现在我想更改选项卡控件颜色,它以红色突出显示,见下文:

enter image description here

1 个答案:

答案 0 :(得分:0)

也许你可以试试这个:( this other example之后免费)

#include <GUIConstantsEx.au3>
#include <ColorConstants.au3>
#include <GuiTab.au3>

Example()

Func Example()
   local $Form=GUICreate("My GUI Tab") ; will create a dialog box that when displayed is centered

   GUISetBkColor(0x00E0FFFF)
   GUISetFont(9, 300)

   local $Tab = GUICtrlCreateTab(10, 10, 200, 100)
   _GUICtrlTabHeader_SetBkColor($Form, $Tab, 0xFF0000) ;set tab header color

   GUICtrlCreateTabItem("tab0")
   GUICtrlCreateTabItem("tab1")
   GUICtrlCreateTabItem("") ; end tabitem definition

   GUISetState(@SW_SHOW)
   For $iIndex = _GUICtrlTab_GetItemCount($Tab) To 0 step -1 ;show tabs
      _GUICtrlTab_ActivateTab ( $Tab, $iIndex )
   Next
   Local $idMsg
   While 1 ; Loop until the user exits.
       $idMsg = GUIGetMsg()
       If $idMsg = $GUI_EVENT_CLOSE Then ExitLoop
   WEnd
EndFunc   ;==>Example

Func _GUICtrlTabHeader_SetBkColor($hWnd, $hSysTab32, $sBkColor)
   Local $aTabPos = ControlGetPos($hWnd, "", $hSysTab32)
   Local $aTab_Rect = _GUICtrlTab_GetItemRect($hSysTab32, -1)
   GUICtrlCreateLabel("", $aTabPos[0]+2, $aTabPos[1], $aTabPos[2]-6, $aTab_Rect[3]+3)
   GUICtrlSetBkColor(-1,  $sBkColor)
   GUICtrlSetState(-1, $GUI_DISABLE)
EndFunc