Главная страница
    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.47 MB
Время: 0.041 c
15-1251351145
Медвежонок Пятачок
2009-08-27 09:32
2009.10.25
утка или так и есть? (мегафон + скайп)


2-1251374237
cyber-pilot
2009-08-27 15:57
2009.10.25
Пропадают вкладки в PageControl е


15-1251452949
xayam
2009-08-28 13:49
2009.10.25
Подскажите есть ли для php библиотека для роботы с д-ми Word .doc


15-1250095032
Григорьев Антон
2009-08-12 20:37
2009.10.25
Осторожно! Новый вирус, специфичный для Delphi


15-1251145808
Юрий
2009-08-25 00:30
2009.10.25
С днем рождения ! 25 августа 2009 вторник





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский