Advertisement
Andrei11114

GuiConcept

Apr 16th, 2013
690
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 8.98 KB | None | 0 0
  1. #include <GUIConstantsEx.au3>
  2. #include <StaticConstants.au3>
  3. #include <WindowsConstants.au3>
  4. #include <WinApi.au3>
  5. #include <Misc.au3>
  6.  
  7. #include <GUICtrlOnHover.au3>
  8. #include <WinApiEx.au3>
  9.  
  10. Global $onHoverShowItems = True
  11. Global $TabCurSel = 1
  12. $WinVers = Number(_WinAPI_GetVersion())
  13. $Form1 = GUICreate("Tabs", 615, 437, 192, 124)
  14.     GUISetBkColor(4079166)
  15.  
  16. $TabItem1 = GUICtrlCreateLabel("", 152, 24, 30, 57)
  17.     GUICtrlSetBkColor($TabItem1, 0x1A1A1A)
  18.     GUICtrlSetCursor($TabItem1,0)
  19.  
  20. $TabItem2 = GUICtrlCreateLabel("", 152, 80, 30, 57)
  21.     GUICtrlSetBkColor($TabItem2, 0x4F4F4F)
  22.     GUICtrlSetCursor($TabItem2,0)
  23.  
  24. $TabItem3 = GUICtrlCreateLabel("", 152, 136, 30, 57)
  25.     GUICtrlSetBkColor($TabItem3, 0x4F4F4F)
  26.     GUICtrlSetCursor($TabItem3,0)
  27.  
  28. $TabBk = GUICtrlCreateLabel("", 8, 24, 148, 409)
  29.     GUICtrlSetBkColor($TabBk, 0x1A1A1A)
  30.     GUICtrlSetState($TabBk,$GUI_DISABLE)
  31.     GUICtrlSetState($TabBk,$TabBk)
  32.  
  33. $ProjectTreeView = GUICtrlCreateTreeView(12,28,140,400)
  34.     $generalitem = GUICtrlCreateTreeViewItem("General", $ProjectTreeView)
  35.     $displayitem = GUICtrlCreateTreeViewItem("Display", $ProjectTreeView)
  36.     $aboutitem = GUICtrlCreateTreeViewItem("About", $generalitem)
  37.     $compitem = GUICtrlCreateTreeViewItem("Computer", $generalitem)
  38.     GUICtrlCreateTreeViewItem("User", $generalitem)
  39.     GUICtrlCreateTreeViewItem("Resolution", $displayitem)
  40.     GUICtrlCreateTreeViewItem("Other", $displayitem)
  41.     If $WinVers > 6.0 Then _WinAPI_SetWindowTheme(GUICtrlGetHandle($ProjectTreeView), 'Explorer')
  42.  
  43. $ObjectInspectorListView = GUICtrlCreateListView('Column 1|Column 2',12,28,140,400)
  44.     For $i = 1 To 9
  45.         GUICtrlCreateListViewItem('Item ' & $i & '|' & 'Sub ' & $i , $ObjectInspectorListView)
  46.     Next
  47.     GUICtrlSetState($ObjectInspectorListView,$GUI_HIDE)
  48.     If $WinVers > 6.0 Then _WinAPI_SetWindowTheme(GUICtrlGetHandle($ObjectInspectorListView), 'Explorer')
  49.  
  50. $TabItem3ListView = GUICtrlCreateListView("Item1",12,28,140,400,0x4000)
  51.     GUICtrlSetState($TabItem3ListView,$GUI_HIDE)
  52.     For $i = 1 To 9
  53.         GUICtrlCreateListViewItem('Item ' & $i, $TabItem3ListView)
  54.     Next
  55.     If $WinVers > 6.0 Then _WinAPI_SetWindowTheme(GUICtrlGetHandle($TabItem3ListView), 'Explorer')
  56. GUISetState(@SW_SHOW)
  57.  
  58. $CheckBoxShowInsideTabs = GUICtrlCreateCheckbox("Show items inside Tabs on Hover",200,200,300,17)
  59. GUICtrlSetState($CheckBoxShowInsideTabs,$GUI_CHECKED)
  60. Global $ShowTip, $CtrlIDPos
  61. _GUiCtrlsetOnHover($TabItem1,"_OnHover","_OnNormal","_OnClick","",0)
  62. _GUiCtrlsetOnHover($TabItem2,"_OnHover","_OnNormal","_OnClick","",0)
  63. _GUiCtrlsetOnHover($TabItem3,"_OnHover","_OnNormal","_OnClick","",0)
  64.  
  65. GUICtrlSetState($ProjectTreeView,$GUI_SHOW)
  66. While 1
  67.     $nMsg = GUIGetMsg()
  68.     Switch $nMsg
  69.         Case $GUI_EVENT_CLOSE
  70.             Exit
  71.         Case $CheckBoxShowInsideTabs
  72.             If BitAND(GUICtrlRead($CheckBoxShowInsideTabs),$GUI_CHECKED) = $GUI_CHECKED Then
  73.                 $onHoverShowItems = True
  74.             Else
  75.                 $onHoverShowItems = False
  76.             EndIf
  77.     EndSwitch
  78. WEnd
  79.  
  80. Func _OnHover($CtrlID)
  81.     If $ShowTip <> 0 Then
  82.         AdlibUnRegister("_OnNormalTip")
  83.         For $i = 160 To 0 step -10
  84.             GUICtrlSetPos($ShowTip,$CtrlIDPos[0]+$CtrlIDPos[2],($CtrlIDPos[1]+$CtrlIDPos[3])-($CtrlIDPos[3]/2)-20,$i)
  85.         Next
  86.         $i = 160
  87.         GUICtrlDelete($ShowTip)
  88.         $ShowTip = 0
  89.         Switch $TabCurSel
  90.             Case 1
  91.                 GUICtrlSetState($ProjectTreeView,$GUI_SHOW)
  92.                 GUICtrlSetState($ObjectInspectorListView,$GUI_HIDE)
  93.                 GUICtrlSetState($TabItem3ListView,$GUI_HIDE)
  94.                 GUICtrlSetBkColor($TabItem1, 0x1A1A1A)
  95.                 GUICtrlSetBkColor($TabItem2, 0x4F4F4F)
  96.                 GUICtrlSetBkColor($TabItem3, 0x4F4F4F)
  97.             Case 2
  98.                 GUICtrlSetState($ProjectTreeView,$GUI_HIDE)
  99.                 GUICtrlSetState($ObjectInspectorListView,$GUI_SHOW)
  100.                 GUICtrlSetState($TabItem3ListView,$GUI_HIDE)
  101.                 GUICtrlSetBkColor($TabItem1, 0x4F4F4F)
  102.                 GUICtrlSetBkColor($TabItem2, 0x1A1A1A)
  103.                 GUICtrlSetBkColor($TabItem3, 0x4F4F4F)
  104.             Case 3
  105.                 GUICtrlSetState($ProjectTreeView,$GUI_HIDE)
  106.                 GUICtrlSetState($ObjectInspectorListView,$GUI_HIDE)
  107.                 GUICtrlSetState($TabItem3ListView,$GUI_SHOW)
  108.                 GUICtrlSetBkColor($TabItem1, 0x4F4F4F)
  109.                 GUICtrlSetBkColor($TabItem2, 0x4F4F4F)
  110.                 GUICtrlSetBkColor($TabItem3, 0x1A1A1A)
  111.         EndSwitch
  112.     EndIf
  113.     $CtrlIDPos = ControlGetPos($Form1,"",$CtrlID)
  114.     Local $tText = ""
  115.     Switch $CtrlID
  116.         Case $TabItem1
  117.             $tText = "TabItem1"
  118.         Case $TabItem2
  119.             $tText = "TabItem2"
  120.         Case $TabItem3
  121.             $tText = "TabItem3"
  122.     EndSwitch
  123.     $ShowTip = GUICtrlCreateLabel($tText,$CtrlIDPos[0]+$CtrlIDPos[2],($CtrlIDPos[1]+$CtrlIDPos[3])-($CtrlIDPos[3]/2)-20,1,40,$SS_CENTERIMAGE)
  124.         GUICtrlSetBkColor($ShowTip,0x333333)
  125.         GUICtrlSetColor($ShowTip,0x8A8A8A)
  126.         GUICtrlSetFont($ShowTip,12,400,0,"Consolas")
  127.     GUICtrlSetBkColor($TabBk,0x333333)
  128.     Switch GUICtrlRead($ShowTip)
  129.         Case "TabItem1"
  130.             If $onHoverShowItems = True Then
  131.                 GUICtrlSetState($ProjectTreeView,$GUI_SHOW)
  132.                 GUICtrlSetState($ObjectInspectorListView,$GUI_HIDE)
  133.                 GUICtrlSetState($TabItem3ListView,$GUI_HIDE)
  134.             EndIf
  135.             GUICtrlSetBkColor($TabItem1, 0x333333)
  136.             If $TabCurSel = 2 Then
  137.                 GUICtrlSetBkColor($TabItem2, 0x1A1A1A)
  138.                 GUICtrlSetBkColor($TabItem3, 0x4F4F4F)
  139.             ElseIf $TabCurSel = 3 Then
  140.                 GUICtrlSetBkColor($TabItem2, 0x4F4F4F)
  141.                 GUICtrlSetBkColor($TabItem3, 0x1A1A1A)
  142.             EndIf
  143.         Case "TabItem2"
  144.             If $onHoverShowItems = True Then
  145.                 GUICtrlSetState($ProjectTreeView,$GUI_HIDE)
  146.                 GUICtrlSetState($ObjectInspectorListView,$GUI_SHOW)
  147.                 GUICtrlSetState($TabItem3ListView,$GUI_HIDE)
  148.             EndIf
  149.             GUICtrlSetBkColor($TabItem2, 0x333333)
  150.             If $TabCurSel = 1 Then
  151.                 GUICtrlSetBkColor($TabItem1, 0x1A1A1A)
  152.                 GUICtrlSetBkColor($TabItem3, 0x4F4F4F)
  153.             ElseIf $TabCurSel = 3 Then
  154.                 GUICtrlSetBkColor($TabItem1, 0x4F4F4F)
  155.                 GUICtrlSetBkColor($TabItem3, 0x1A1A1A)
  156.             EndIf
  157.         Case "TabItem3"
  158.             If $onHoverShowItems = True Then
  159.                 GUICtrlSetState($ProjectTreeView,$GUI_HIDE)
  160.                 GUICtrlSetState($ObjectInspectorListView,$GUI_HIDE)
  161.                 GUICtrlSetState($TabItem3ListView,$GUI_SHOW)
  162.             EndIf
  163.             GUICtrlSetBkColor($TabItem3, 0x333333)
  164.             If $TabCurSel = 1 Then
  165.                 GUICtrlSetBkColor($TabItem1, 0x1A1A1A)
  166.                 GUICtrlSetBkColor($TabItem2, 0x4F4F4F)
  167.             ElseIf $TabCurSel = 2 Then
  168.                 GUICtrlSetBkColor($TabItem1, 0x4F4F4F)
  169.                 GUICtrlSetBkColor($TabItem2, 0x1A1A1A)
  170.             EndIf
  171.     EndSwitch
  172.     AdlibRegister("_OnHoverTip",10)
  173. EndFunc
  174.  
  175. Func _OnHoverTip()
  176.     Local Static $i
  177.     GUICtrlSetPos($ShowTip,$CtrlIDPos[0]+$CtrlIDPos[2],($CtrlIDPos[1]+$CtrlIDPos[3])-($CtrlIDPos[3]/2)-20,$i)
  178.     $i += 10
  179.     If $i >= 160 Then
  180.         $i = 0
  181.         AdlibUnRegister("_OnHoverTip")
  182.     EndIf
  183. EndFunc
  184.  
  185. Func _OnNormal($CtrlID)
  186.     GUICtrlSetBkColor($TabBk,0x1A1A1A)
  187.  
  188.     AdlibRegister("_OnNormalTip",10)
  189. EndFunc
  190.  
  191. Func _OnNormalTip()
  192.     Local $mMsg = GUIGetCursorInfo($Form1)
  193.     Local Static $i = 160
  194.     GUICtrlSetPos($ShowTip,$CtrlIDPos[0]+$CtrlIDPos[2],($CtrlIDPos[1]+$CtrlIDPos[3])-($CtrlIDPos[3]/2)-20,$i)
  195.     $i -= 10
  196.     If $i <= 0 Then
  197.         $i = 160
  198.         GUICtrlDelete($ShowTip)
  199.         $ShowTip = 0
  200.         Switch $TabCurSel
  201.             Case 1
  202.                 GUICtrlSetState($ProjectTreeView,$GUI_SHOW)
  203.                 GUICtrlSetState($ObjectInspectorListView,$GUI_HIDE)
  204.                 GUICtrlSetState($TabItem3ListView,$GUI_HIDE)
  205.                 GUICtrlSetBkColor($TabItem1, 0x1A1A1A)
  206.                 GUICtrlSetBkColor($TabItem2, 0x4F4F4F)
  207.                 GUICtrlSetBkColor($TabItem3, 0x4F4F4F)
  208.             Case 2
  209.                 GUICtrlSetState($ProjectTreeView,$GUI_HIDE)
  210.                 GUICtrlSetState($ObjectInspectorListView,$GUI_SHOW)
  211.                 GUICtrlSetState($TabItem3ListView,$GUI_HIDE)
  212.                 GUICtrlSetBkColor($TabItem1, 0x4F4F4F)
  213.                 GUICtrlSetBkColor($TabItem2, 0x1A1A1A)
  214.                 GUICtrlSetBkColor($TabItem3, 0x4F4F4F)
  215.             Case 3
  216.                 GUICtrlSetState($ProjectTreeView,$GUI_HIDE)
  217.                 GUICtrlSetState($ObjectInspectorListView,$GUI_HIDE)
  218.                 GUICtrlSetState($TabItem3ListView,$GUI_SHOW)
  219.                 GUICtrlSetBkColor($TabItem1, 0x4F4F4F)
  220.                 GUICtrlSetBkColor($TabItem2, 0x4F4F4F)
  221.                 GUICtrlSetBkColor($TabItem3, 0x1A1A1A)
  222.         EndSwitch
  223.         AdlibUnRegister("_OnNormalTip")
  224.     EndIf
  225. EndFunc
  226.  
  227. Func _OnClick($CtrlId)
  228.  
  229.     Switch GUICtrlRead($ShowTip)
  230.         Case "TabItem1"
  231.             GUICtrlSetState($ProjectTreeView,$GUI_SHOW)
  232.             GUICtrlSetState($ObjectInspectorListView,$GUI_HIDE)
  233.             GUICtrlSetState($TabItem3ListView,$GUI_HIDE)
  234.             $TabCurSel = 1
  235.         Case "TabItem2"
  236.             GUICtrlSetState($ProjectTreeView,$GUI_HIDE)
  237.             GUICtrlSetState($ObjectInspectorListView,$GUI_SHOW)
  238.             GUICtrlSetState($TabItem3ListView,$GUI_HIDE)
  239.             $TabCurSel = 2
  240.         Case "TabItem3"
  241.             GUICtrlSetState($ProjectTreeView,$GUI_HIDE)
  242.             GUICtrlSetState($ObjectInspectorListView,$GUI_HIDE)
  243.             GUICtrlSetState($TabItem3ListView,$GUI_SHOW)
  244.             $TabCurSel = 3
  245.     EndSwitch
  246.     AdlibRegister("_OnClickTip",10)
  247. EndFunc
  248.  
  249. Func _OnClickTip()
  250.     AdlibUnRegister("_OnClickTip")
  251.     GUICtrlSetBkColor($ShowTip,0x1A1A1A)
  252.     GUICtrlSetBkColor($TabBk,0x1A1A1A)
  253.     Switch $TabCurSel
  254.         Case 1
  255.             GUICtrlSetBkColor($TabItem1, 0x1A1A1A)
  256.             GUICtrlSetBkColor($TabItem2, 0x4F4F4F)
  257.             GUICtrlSetBkColor($TabItem3, 0x4F4F4F)
  258.         Case 2
  259.             GUICtrlSetBkColor($TabItem1, 0x4F4F4F)
  260.             GUICtrlSetBkColor($TabItem2, 0x1A1A1A)
  261.             GUICtrlSetBkColor($TabItem3, 0x4F4F4F)
  262.         Case 3
  263.             GUICtrlSetBkColor($TabItem1, 0x4F4F4F)
  264.             GUICtrlSetBkColor($TabItem2, 0x4F4F4F)
  265.             GUICtrlSetBkColor($TabItem3, 0x1A1A1A)
  266.     EndSwitch
  267. EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement