Форум » GUI » вопрос по ТАБ-ам и вкладкам » Ответить

вопрос по ТАБ-ам и вкладкам

Eduard: Собственно сам вопрос - можно ли в табе скрыть вкладку программным путем (скажем через настроечный файл ini)? Приведите примерчик пожалуйста Спасибо

Ответов - 1

gfilatov2002: Eduard пишет: можно ли в табе скрыть вкладку программным путем Да, это возможно с помощью небольшого трюка (используя методы DeletePage и AddPage). Посмотрите довольно древний, но рабочий , пример ниже: [pre2]#include "minigui.ch" static nTotalPage := 2 Function Main DEFINE WINDOW Form_1 ; AT 0,0 WIDTH 480 HEIGHT 300 ; TITLE 'TAB / Page' ; MAIN DEFINE MAIN MENU DEFINE POPUP 'Actions' MENUITEM 'Hide Page 2' ACTION f_hide_page( 2 ) MENUITEM 'Add Page 2' ACTION f_add_page( 2 ) END POPUP END MENU ON KEY F1 ACTION f_page_value( 1 ) ON KEY F2 ACTION f_page_value( 2 ) DEFINE STATUSBAR STATUSITEM "" END STATUSBAR DEFINE TAB Tab_1 ; AT 10,10 ; WIDTH 445 ; HEIGHT 200 ; VALUE 1 ; TOOLTIP 'Tab Control' ; ON CHANGE F_CHANGE() PAGE 'Press F1' @ 60,10 textbox txt_1 value '1-uno' @ 90,10 textbox txt_2 value '2-Dos' @ 120,10 textbox txt_3 value '3-Tres' END PAGE PAGE 'Press F2' @ 60,100 textbox txt_a value 'A-Uno' @ 90,100 textbox txt_b value 'B-Dos' END PAGE END TAB f_change() END WINDOW Form_1.Center Form_1.Activate Return Nil *____________________________________________________* func f_hide_page( n_para ) if nTotalPage > 1 nTotalPage-- Form_1.txt_a.Hide Form_1.txt_b.Hide Form_1.tab_1.DeletePage ( 2 ) form_1.tab_1.value := n_para - 1 Form_1.tab_1.refresh() F_CHANGE() endif return nil *____________________________________________________* func f_add_page( n_para ) if nTotalPage < 2 nTotalPage++ Form_1.Tab_1.AddPage ( n_para , 'Press F2' ) form_1.tab_1.caption( n_para ) := 'Press F2' Form_1.Tab_1.AddControl ( 'txt_a', n_para , 60 , 100 ) Form_1.Tab_1.AddControl ( 'txt_b', n_para , 90 , 100 ) Form_1.txt_a.Show Form_1.txt_b.Show form_1.tab_1.value := n_para F_CHANGE() endif return nil *____________________________________________________* func f_page_value( n_para ) form_1.tab_1.value := n_para f_change() return nil *____________________________________________________* func f_change local n_value := form_1.tab_1.value if n_value == 1 form_1.txt_1.setfocus else form_1.txt_a.setfocus endif Form_1.StatusBar.Item(1) := ; 'Form_1.Tab_1.Caption(' + hb_ntos(n_value) + ') = '+; form_1.tab_1.caption( form_1.tab_1.value ) return nil [/pre2]



полная версия страницы