Что нового

[Элементы GUI] Размещение RichEdit на вкладке Tab'а

IgRo

Знающий
Сообщения
65
Репутация
5
Как разместить RichEdit на вкладке Tab'а
Пробую так
Код:
#include <GuiRichEdit.au3>
#include <GUIConstantsEx.au3>

$hGUI=GUICreate('Test', 500, 200)

$nTab = GUICtrlCreateTab(0, 0, 500, 200)
$Tab1=GUICtrlCreateTabItem("1")
$hTab1 = GUICtrlGetHandle($Tab1)

$hRT1 = _GUICtrlRichEdit_Create($hTab1, "RT1", 0, 24, 500, 100)
$hED1 = GUICtrlCreateEdit( "ED1", 0, 100, 500, 200)

$Tab2=GUICtrlCreateTabItem("2")
$hTab2 = GUICtrlGetHandle($Tab2)
$hRT2 = _GUICtrlRichEdit_Create($hTab2, "RT2", 0, 24, 500, 100)
$hED2 = GUICtrlCreateEdit( "ED2", 0, 100, 500, 200)

GUISetState()
While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
            GUIDelete()
            Exit
    EndSwitch
WEnd

не видны RT1 и RT2 :(
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Re: [Элементы GUI] Размещение RichEdit на Tab'е

Была как то ошибка: более 1 Rich элемента нельзя было вместить в GUI окошечко.
Обновите Rich библиотеку функций.
Я не помню откуда взял свою, но могу своею поделится.
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Re: [Элементы GUI] Размещение RichEdit на Tab'е

IgRo
Почему дескрипторы вкладок равны 0?
Код:
MsgBox(0, IsHWnd($hTab1) & ' ' & IsHWnd($hTab2), $hTab1 &@CRLF& $hTab2)
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Re: [Элементы GUI] Размещение RichEdit на Tab'е

AZJIO
Потому что ваш MsgBox читает хэндлы у вкладок а не сами дескрипторы.
У него дескрипторы вкладок это - $Tab1(Странно, что это 1 переменная для 2-х вкладок ;))
Попробуйте такой расклад:
Код:
MsgBox(0, "", $Tab1 &@CRLF& $Tab1)
 
Автор
I

IgRo

Знающий
Сообщения
65
Репутация
5
Re: [Элементы GUI] Размещение RichEdit на Tab'е

MnM
...1 переменная для 2-х вкладок
исправил в первом посте
AZJIO
Почему дескрипторы вкладок равны 0?
в этом и есть мое заблуждение

вот нашел обходное и глючное решение
Код:
#include <GuiRichEdit.au3>
#include <GUIConstantsEx.au3>

$hGUI=GUICreate('Test', 500, 200)
$hRT0 = _GUICtrlRichEdit_Create($hGUI, "RT0", 0, 180, 500, 20)

$nTab = GUICtrlCreateTab(0, 0, 500, 180)
GUICtrlCreateTabItem("1")

$hRT1 = _GUICtrlRichEdit_Create($hGUI, "RT1", 0, 24, 500, 160)
GUICtrlCreateTabItem("2")

$hRT2 = _GUICtrlRichEdit_Create($hGUI, "RT2", 0, 24, 500, 160)

GUISetState()
While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
	        GUIDelete()
            Exit
	Case $nTab
		    Switch GUICtrlRead($nTab)
                Case 0
					ControlHide('', '', $hRT2)
					ControlShow('', '', $hRT1)
                Case 1
					ControlHide('', '', $hRT1)
                    ControlShow('', '', $hRT2)
             EndSwitch
    EndSwitch
WEnd

первоначально не обновляется видно RT2 вместо RT1
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Re: [Элементы GUI] Размещение RichEdit на Tab'е

Ну у меня и ваш первый скрипт работает без поправок
 
Автор
I

IgRo

Знающий
Сообщения
65
Репутация
5
Re: [Элементы GUI] Размещение RichEdit на Tab'е

в первом варианте RichEdit'ы ($hRT1 и $hRT2) не видны

Есть ли возможность поместить RichEdit на вкладку?
 

ivsatel

Продвинутый
Сообщения
319
Репутация
84
IgRo
http://autoit-script.ru/index.php?topic=13594.0
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
IgRo [?]
первоначально не обновляется видно RT2 вместо RT1
А что мешает скрыть RT2?

Код:
#include <GUIRichEdit.au3>
#include <GUIConstantsEx.au3>

$hGUI = GUICreate('Test', 500, 200)

$nTab = GUICtrlCreateTab(0, 0, 500, 180)
GUICtrlCreateTabItem("1")
GUICtrlCreateTabItem("2")

$hRT0 = _GUICtrlRichEdit_Create($hGUI, "RT0", 0, 180, 500, 20)
$hRT1 = _GUICtrlRichEdit_Create($hGUI, "RT1", 0, 24, 500, 160)
$hRT2 = _GUICtrlRichEdit_Create($hGUI, "RT2", 0, 24, 500, 160)

ControlHide($hGUI, '', $hRT2)

GUISetState()

While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			GUIDelete()
			Exit
		Case $nTab
			Switch GUICtrlRead($nTab)
				Case 0
					ControlHide($hGUI, '', $hRT2)
					ControlShow($hGUI, '', $hRT1)
				Case 1
					ControlHide($hGUI, '', $hRT1)
					ControlShow($hGUI, '', $hRT2)
			EndSwitch
	EndSwitch
WEnd
 
Автор
I

IgRo

Знающий
Сообщения
65
Репутация
5
CreatoR
Значит RichEdit на GUICtrlCreateTabItem нельзя положить?
Только на GUICreate и ControlHide/ControlShow?
 
Верх