PageControl Проблемы с закладками
Модератор: Модераторы
PageControl Проблемы с закладками
Использую Lazarus 0.9.20 beta.
При размещении компон. PageControl и создании закладок TabSheet, и применении в свойствах TabPosition не tpTop, а (Bottom, Left, Right), то закладки TabSheet становяться недоступные.
Кто нибудь сталкивался с данными проблемами?
При размещении компон. PageControl и создании закладок TabSheet, и применении в свойствах TabPosition не tpTop, а (Bottom, Left, Right), то закладки TabSheet становяться недоступные.
Кто нибудь сталкивался с данными проблемами?
-
Павел Ишенин
- постоялец
- Сообщения: 475
- Зарегистрирован: 24.03.2007 09:16:52
спасибо за ответы!
работает когда меняеться сам размер PageControl (width, Height)
или же как посоветовал Attid только PageControl привязать aling и то только если left, Right, client. Интересно (width, Height) прорысовываеться как по изменению width так и по Height.
А от ревизии r10864 я не нашел как писал Павел Ишенин.
за сегодня _ftp://ftp.hu.freepascal.org/pub/lazarus/Lazarus-0.9.23-fpc-2.1.3-20070404-win32.exe оказался r10862, может я чтот не так делаю
Но всем боооольшое спасибо за советы.

работает когда меняеться сам размер PageControl (width, Height)
или же как посоветовал Attid только PageControl привязать aling и то только если left, Right, client. Интересно (width, Height) прорысовываеться как по изменению width так и по Height.
А от ревизии r10864 я не нашел как писал Павел Ишенин.
за сегодня _ftp://ftp.hu.freepascal.org/pub/lazarus/Lazarus-0.9.23-fpc-2.1.3-20070404-win32.exe оказался r10862, может я чтот не так делаю
Но всем боооольшое спасибо за советы.
-
Павел Ишенин
- постоялец
- Сообщения: 475
- Зарегистрирован: 24.03.2007 09:16:52
WinXP sp2 / Lazarus 0.9.28.2beta / FPC 2.2.4 / SVN: 22279
1. Удаляю все закладки.
2. Создаю новую.
У первой закладки ярлычок закрывается. Видно только край. А само место для ярлыка, как будто, снизу. При создании второй и т.д. при их выборе, ярлыки нормально отображаются. При этом становится коретное отображение этой самой первой вкладки. Если выбрать первую (которая кривая) удалить ее, то потом все нормально. Если же удалить опять все и повторить, происходить опять это. Что я натворил не так?
Вот проект http://webfile.ru/4337832
Добавлено спустя 17 часов 58 минут 56 секунд:
У всех такая проблема как у меня? или как? может это глюк? и его надо перенести в соответствующую тему, чтобы исправили?
1. Удаляю все закладки.
2. Создаю новую.
У первой закладки ярлычок закрывается. Видно только край. А само место для ярлыка, как будто, снизу. При создании второй и т.д. при их выборе, ярлыки нормально отображаются. При этом становится коретное отображение этой самой первой вкладки. Если выбрать первую (которая кривая) удалить ее, то потом все нормально. Если же удалить опять все и повторить, происходить опять это. Что я натворил не так?
Вот проект http://webfile.ru/4337832
Код: Выделить всё
unit mdiform;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
Menus, ExtCtrls, Buttons, StdCtrls, Grids, PopupNotifier, ComCtrls,
PairSplitter, ActnList, StdActns, ButtonPanel, Chart;
type
{ TfrmMy }
TfrmMy = class(TForm)
FileCloseAction: TAction;
FileNewAction: TAction;
ActionList: TActionList;
ImgLTlBMain: TImageList;
MainMenu: TMainMenu;
MenuItemFileClose: TMenuItem;
MenuItemFileNew: TMenuItem;
MenuItemFile: TMenuItem;
PgControl: TPageControl;
PnlDrawing: TPanel;
ScrollBox1: TScrollBox;
TabSheet1: TTabSheet;
TlBMain: TToolBar;
TlBtnNew: TToolButton;
TlBtnClose: TToolButton;
procedure FileCloseActionExecute(Sender: TObject);
procedure FileNewActionExecute(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
frmMy: TfrmMy;
strNameCreateDocument : String;
implementation
procedure TfrmMy.FileCloseActionExecute(Sender: TObject);
begin
If PgControl.PageCount > 0 then PgControl.ActivePage.Free;
end;
procedure TfrmMy.FileNewActionExecute(Sender: TObject);
Var
TabSheet : TTabSheet;
ScrollBox : TScrollBox;
begin
TabSheet := TTabSheet.Create(Self);
With TabSheet do
begin
Caption := 'Тыц';
ImageIndex := 1;
PageControl := PgControl;
end; //with
ScrollBox := TScrollBox.create(self);
ScrollBox.Align := AlClient;
ScrollBox.Parent := TabSheet;
end;
initialization
{$I mdiform.lrs}
end.Добавлено спустя 17 часов 58 минут 56 секунд:
У всех такая проблема как у меня? или как? может это глюк? и его надо перенести в соответствующую тему, чтобы исправили?
Данный глюк наблюдается если свойство у Pagecontrol.TabPosition := tpTop или tpLeft.
При := tpBottom или tpRight Все работает нормально.
Хоть и коряво, но решил проблему, так если создаю новый PageControl, а PageControl.PageCount = 0 тогда две вкладки создаю, а первую удаляю.
При := tpBottom или tpRight Все работает нормально.
Хоть и коряво, но решил проблему, так если создаю новый PageControl, а PageControl.PageCount = 0 тогда две вкладки создаю, а первую удаляю.
Код: Выделить всё
procedure TfrmMy.FileNewActionExecute(Sender: TObject);
Var
TabSheet : TTabSheet;
ScrollBox : TScrollBox;
begin
TabSheet := TTabSheet.Create(Self);
If PgControl.PageCount = 0 Then
begin
With TabSheet do
begin
Visible := False;
PageControl := PgControl;
end; //with
TabSheet := TTabSheet.Create(Self);
With TabSheet do
begin
Caption := 'Тыц';
ImageIndex := 1;
PageControl := PgControl;
end; //with
Pgcontrol.Pages[0].Free;
end
Else
With TabSheet do
begin
Caption := 'Тыц';
ImageIndex := 1;
PageControl := PgControl;
end; //with
end;Решил таким способом - у Табов поставил TabVisible = false
а при запуске
а при запуске
Код: Выделить всё
procedure TForm.FormActivate(Sender: TObject);
var
i : integer;
begin
for i := 0 to PageControl1.PageCount-1 do begin
PageControl1.Pages[i].TabVisible:=true;
end;
