Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.25;
Скачать: CL | DM;

Вниз

Пропадают вкладки в PageControl е   Найти похожие ветки 

 
cyber-pilot   (2009-08-27 15:57) [0]

У меня проблемы с отрисовкой вкладок в компоненте PageControl при перемещении по вкладкам. Если вкладок много и последовательно переходить по ним вправо, а потом влево, то некоторые из них начинают пропадать.
У меня Delphi 2007, win XP.


 
cyber-pilot   (2009-08-27 16:00) [1]

Вот пример как сделано перемещение по вкладкам:

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   PageControl1: TPageControl;
   Button1: TButton;
   Button2: TButton;
   procedure FormCreate(Sender: TObject);
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 if PageControl1.TabIndex > 0 then
   PageControl1.TabIndex := PageControl1.TabIndex - 1;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 if PageControl1.TabIndex < PageControl1.PageCount - 1 then
   PageControl1.TabIndex := PageControl1.TabIndex + 1;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
 i: Integer;
 vTab: TTabSheet;
begin
 PageControl1.Style := tsFlatButtons;

 for i := 0 to 30 do
 begin
   vTab := TTabSheet.Create(PageControl1);

   vTab.Caption := IntToStr(10000 + i);
   vTab.PageControl := PageControl1;
 end;
end;

end.

Как сделать, чтобы вкладки не пропадали?


 
clickmaker ©   (2009-08-27 17:59) [2]

> некоторые из них начинают пропадать

совсем пропадать? образуются дыры в 10000 + i?


 
cyber-pilot   (2009-08-27 18:15) [3]

Получается вот так: http://s46.radikal.ru/i114/0908/4e/f17885c7d5a1.jpg


 
cyber-pilot   (2009-08-27 18:19) [4]

Вот пример получше: http://i036.radikal.ru/0908/0b/a04dd03411de.jpg


 
clickmaker ©   (2009-08-27 18:20) [5]

а пэйджконтрол точно прижат к левому краю?
если да, то похоже на глюк отрисовки. Если бы они пропадали совсем, было бы что-то типа 10023 10025 10029


 
clickmaker ©   (2009-08-27 18:25) [6]

короче, попробуй PageControl1.Update или Refresh после смены индекса


 
cyber-pilot   (2009-08-27 18:28) [7]

Точно прижат.
Они не совсем пропадают, если преходить между вкладками, то они восстанавливаются. Но ни PageControl1.Update, ни Refresh, ни Invalidate не помогают.


 
Amoeba ©   (2009-08-27 18:44) [8]

Попробуй изменить код таким образом:

procedure TForm1.Button1Click(Sender: TObject);
begin
 with PageControl1 do
   if ActivePageIndex > 0 then
     ActivePage:= ActivePageIndex - 1;
end;


 
Amoeba ©   (2009-08-27 18:48) [9]

Sorry, должно быть так:

procedure TForm1.Button1Click(Sender: TObject);
begin
with PageControl1 do
  if ActivePageIndex > 0 then
    ActivePageIndex:= ActivePageIndex - 1;
end;


 
Amoeba ©   (2009-08-27 18:54) [10]

Еще можно так:

procedure TForm1.Button1Click(Sender: TObject);
begin
with PageControl1 do
 if ActivePageIndex > 0 then
   ActivePage := Pages[ActivePageIndex - 1];
end;


 
cyber-pilot   (2009-08-27 20:01) [11]


> Amoeba ©  

Все равно то же самое.


 
sniknik ©   (2009-08-27 22:48) [12]

они у тебя похоже просто не прорисовываются, попробуй добавь
procedure TForm1.Button1Click(Sender: TObject);
begin
 if PageControl1.TabIndex > 0 then
   PageControl1.TabIndex := PageControl1.TabIndex - 1;
 PageControl1.Repaint;
end;



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

Текущий архив: 2009.10.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
1-1220736884
Дмитрий Белькевич
2008-09-07 01:34
2009.10.25
Размещение файлов в Висте


2-1251993467
Eugene1501
2009-09-03 19:57
2009.10.25
Какое событие вызывает перемещение окна


15-1250752659
Павел Калугин
2009-08-20 11:17
2009.10.25
Методика тестирования програмного обеспечения


15-1251459961
Наиль
2009-08-28 15:46
2009.10.25
Лишние символы при исполнении bat-файла


2-1250979749
Риг
2009-08-23 02:22
2009.10.25
Объекты в потоках.