Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Вниз

ActivePage в TPageControl   Найти похожие ветки 

 
Катерина   (2002-07-03 11:27) [0]

Объястиье, пожалуйста, почему, когда я до открытия формы настраиваю ее составляющие, в частности, TPageControl, устанавливая PageControl1.ActivePageIndex на определенную вкладку, то при открытии формы (OnShow) открыта вкладка действительно та, которая указана, а компоненты на ней - из той вкладки, что последней была открыта при редактировании формы. Перещелкнешь вкладки - всё нормально. Не смертельно, конечно, но довольно неприятно.


 
Skier   (2002-07-03 11:31) [1]

>Катерина
А зачем тебе ActivePageIndex может просто обойтись
через ActivePage ?
Т.е. в OnShow пишешь :

PageControl1.ActivePage := YourTabSheet;


 
Катерина   (2002-07-03 11:44) [2]

То же самое. Показана на указанная вкладка, а компоненты - с другой


 
Игорь Шевченко   (2002-07-03 11:51) [3]

Код привести нельзя, чтобы убедиться в этом странном эффекте ?


 
Skier   (2002-07-03 11:52) [4]

>Катерина
Страшные вещи ты рассказываешь :)
Т.к. твоя проблема не очень сложна в описании, то всё это
очень похоже на глюк делфийского PageControl-a.

Попробуй так что ли :
- брось на форму ещё один PageControl
- создай на нём нужное кол-во страниц
- скопируй всё элементы со старых страниц на новые
(копируешь) с удалением
- прибей старый PageControl
- переимену страницы на новом PageControl-е

Может поможет...А в общем всё это довольно странно.


 
Катерина   (2002-07-03 12:14) [5]

>>Игорь Шевченко
Я отправила 3 файла: форма, unit и проект Вам на e-mail


 
Катерина   (2002-07-03 12:28) [6]

Привожу пример этой ситуации:

Unit1.dfm

object Form1: TForm1
Left = 123
Top = 158
Width = 320
Height = 240
Caption = "Form1"
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = "MS Sans Serif"
Font.Style = []
OldCreateOrder = False
OnShow = FormShow
PixelsPerInch = 120
TextHeight = 16
object PageControl1: TPageControl
Left = 16
Top = 8
Width = 289
Height = 193
ActivePage = TabSheet2
TabIndex = 1
TabOrder = 0
object TabSheet1: TTabSheet
Caption = "TabSheet1"
object Label1: TLabel
Left = 16
Top = 120
Width = 41
Height = 16
Caption = "Label1"
end
end
object TabSheet2: TTabSheet
Caption = "TabSheet2"
ImageIndex = 1
OnShow = TabSheet2Show
object Label2: TLabel
Left = 40
Top = 32
Width = 41
Height = 16
Caption = "Label2"
end
end
end
end


Unit1.pas

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls;

type
TForm1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Label1: TLabel;
Label2: TLabel;
procedure FormShow(Sender: TObject);
procedure TabSheet2Show(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
PageControl1.ActivePageIndex
end;

procedure TForm1.TabSheet2Show(Sender: TObject);
begin
PageControl1.ActivePage := TabSheet1;
end;

end.


Project1.dpr

program Project1;

uses
Forms,
Unit1 in "Unit1.pas" {Form1};

{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.




 
Skier   (2002-07-03 12:38) [7]

>Катерина
Ежели заремить код,

procedure TForm1.FormShow(Sender: TObject) и
procedure TForm1.TabSheet2Show(Sender: TObject)

то вроде бы работает...


 
Skier   (2002-07-03 12:40) [8]

>Катерина
Но лучше так :
procedure TForm1.FormShow(Sender: TObject);
begin
//PageControl1.ActivePageIndex;
PageControl1.ActivePage := TabSheet1;
end;

procedure TForm1.TabSheet2Show(Sender: TObject);
begin
//PageControl1.ActivePage := TabSheet1;
end;

end.


 
Катерина   (2002-07-03 12:55) [9]

Спасибо! Вроде работает...


 
Игорь Шевченко   (2002-07-03 12:59) [10]

Катерина © (03.07.02 12:14)

Так нельзя делать :-)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.012 c
3-47060
::Hamster::
2002-06-18 11:25
2002.07.15
Поиск в ibtable


14-47770
Alex II
2002-06-14 12:27
2002.07.15
Помогите новичку


1-47291
. : Andrey : .
2002-06-30 14:59
2002.07.15
Ссылка в Memo


7-47852
Lizard
2002-04-25 21:46
2002.07.15
Как добавить строку в конец текстового файла ?


14-47748
z_z
2002-06-13 00:03
2002.07.15
У кого нить Spy++ не заволялся?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский