【发布时间】:2016-09-08 05:57:59
【问题描述】:
我正在开发一个处理大量选项卡控件的应用程序。每个选项卡项都有不同的颜色。我查看了谷歌并得到了解决方案,但这还不够。每个都是更改选项卡项颜色而不是选项卡控件本身。
好吧,这太容易了。 现在我想更改以红色突出显示的选项卡控件颜色,如下所示:
【问题讨论】:
我正在开发一个处理大量选项卡控件的应用程序。每个选项卡项都有不同的颜色。我查看了谷歌并得到了解决方案,但这还不够。每个都是更改选项卡项颜色而不是选项卡控件本身。
好吧,这太容易了。 现在我想更改以红色突出显示的选项卡控件颜色,如下所示:
【问题讨论】:
也许你可以试试这个:(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
【讨论】: