简体   繁体   English

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

[英]Change Tab Control background color in AutoIt

I am working on an application which deals with lots of tab controls. 我正在处理一个处理大量选项卡控件的应用程序。 Each Tab item has a different color. 每个Tab项具有不同的颜色。 I looked on Google and got a solution but it was not enough. 我看了谷歌并得到了一个解决方案,但这还不够。 Every one was change the tab item color not the tab control itself. 每个人都更改标签项颜色而不是标签控件本身。

OK it was too easy. 好吧,这太容易了。 Now I want to change the tab Control color where it is highlighted in red, see below: 现在我想更改选项卡控件颜色,它以红色突出显示,如下所示:

在此输入图像描述

Maybe you can try this: (free after 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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM