Что нового

Элементы GUI Иконки на вкладках GUICtrlCreateTabItem

kodges

Новичок
Сообщения
42
Репутация
0
Подскажите пожалуйста как решить проблему с тем что иконка на последней вкладке наезжает на текст вкладки.

Код:
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <GUIConstantsEx.au3>
#include <TabConstants.au3>
#include <Constants.au3>
#include <WinAPI.au3>


Opt('GUIOnEventMode',         1)
;Opt('MustDeclareVars',         1)

Global    $hParentWin, $hChildWin

_Example3()

While 1
    Sleep(10)
WEnd

Func _ProExit()
    Exit
EndFunc

Func _CloseWin()
    GUIDelete(@GUI_WinHandle)
EndFunc


Func _Example3()
    $hParentWin = GUICreate('Родителськое окно',520, 540, 500, 500)
    GUICtrlCreateLabel('', -100, -100, 0, 0)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_ProExit')


    $tab = GUICtrlCreateTab(1, 1, 500, 500, BitOR($TCS_FIXEDWIDTH, $TCS_BUTTONS, $TCS_FLATBUTTONS, $TCS_FOCUSNEVER))

    GUICtrlCreateTabItem("Вкладка1")
    GUICtrlSetImage(-1, "shell32.dll", -222, 0) ; иконка вкладки
    $ListView = GUICtrlCreateListView("Заголовок1|Заголовок2|Заголовок3", 10, 30, -1, -1 )
    GUICtrlSetBkColor(-1, 0xFFFEEE) ; устанавливает цвет фона ListView
    $item1 = GUICtrlCreateListViewItem("пункт2|кол22|кол23", $ListView)
    $item2 = GUICtrlCreateListViewItem("пункт1|кол12|кол13", $ListView)
    $item3 = GUICtrlCreateListViewItem("пункт3|кол32|кол33", $ListView)

    GUICtrlCreateTabItem("Вкладка2")
    GUICtrlSetImage(-1, "shell32.dll", -222, 0) ; иконка вкладки

    GUICtrlCreateTabItem("Вкладка3")
    GUICtrlSetImage(-1, "shell32.dll", -222, 0) ; иконка вкладки

    GUICtrlCreateTabItem("")


    GUISetState(@SW_SHOW, $hParentWin)

EndFunc
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Добавьте стиль " $TCS_FORCEICONLEFT :
Код:
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <GUIConstantsEx.au3>
#include <TabConstants.au3>
#include <Constants.au3>
#include <WinAPI.au3>


Opt('GUIOnEventMode',         1)
;Opt('MustDeclareVars',         1)

Global    $hParentWin, $hChildWin

_Example3()

While 1
    Sleep(10)
WEnd

Func _ProExit()
    Exit
EndFunc

Func _CloseWin()
    GUIDelete(@GUI_WinHandle)
EndFunc


Func _Example3()
    $hParentWin = GUICreate('Родителськое окно',520, 540, 500, 500)
    GUICtrlCreateLabel('', -100, -100, 0, 0)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_ProExit')


    $tab = GUICtrlCreateTab(1, 1, 500, 500, BitOR($TCS_FIXEDWIDTH, $TCS_BUTTONS, $TCS_FLATBUTTONS, $TCS_FOCUSNEVER,$TCS_FORCEICONLEFT))

    GUICtrlCreateTabItem("Вкладка1")
    GUICtrlSetImage(-1, "shell32.dll", -222, 0) ; иконка вкладки
    $ListView = GUICtrlCreateListView("Заголовок1|Заголовок2|Заголовок3", 10, 30, -1, -1 )
    GUICtrlSetBkColor(-1, 0xFFFEEE) ; устанавливает цвет фона ListView
    $item1 = GUICtrlCreateListViewItem("пункт2|кол22|кол23", $ListView)
    $item2 = GUICtrlCreateListViewItem("пункт1|кол12|кол13", $ListView)
    $item3 = GUICtrlCreateListViewItem("пункт3|кол32|кол33", $ListView)

    GUICtrlCreateTabItem("Вкладка2")
    GUICtrlSetImage(-1, "shell32.dll", -222, 0) ; иконка вкладки

    GUICtrlCreateTabItem("Вкладка3")
    GUICtrlSetImage(-1, "shell32.dll", -222, 0) ; иконка вкладки

    GUICtrlCreateTabItem("")


    GUISetState(@SW_SHOW, $hParentWin)

EndFunc
 
Автор
kodges

kodges

Новичок
Сообщения
42
Репутация
0
Спасибо помогло! Еще вариант просто поставить несколько пробелов перед названием проблемной вкладки.
 
Верх