Форум: "Основная";
Текущий архив: 2003.04.07;
Скачать: [xml.tar.bz2];
ВнизСоздание компонентов, проподает кнопка Найти похожие ветки
← →
Nemra (2003-03-26 11:37) [0]Я написал компоненту, наследник Tpanel. На него размещаю кнопку, а после запуска кнопки не видно. Кто нить сталкивался с такой проблемой? Как решить?
← →
Smithson (2003-03-26 12:02) [1]На него размещаю кнопку - это как? Покажи код создания кнопки и панели.
← →
Jel (2003-03-26 12:26) [2]А кто Parent у кнопки - твоя панель или форма?
← →
Nemra (2003-03-26 12:27) [3]Это код компоненты, а кнопку я в проекте добавляю, размещаю на панель.
unit MySlidePanel;
interface
uses
// Windows, Graphics, Forms, Dialogs,
Messages,
Dialogs, //for showmessage
SysUtils, Classes, Controls, buttons, ExtCtrls;
type
// TMySlidePanel = class(TWinControl)
TMySlidePanel = class(TPanel)
private
{ Private declarations }
FMainPanel: TPanel;
FHeaderPanel: TPanel;
FChildPanel: TPanel;
FButtonPanel: TSpeedButton;
CurV: Boolean;
protected
{ Protected declarations }
procedure WMSize(var Message: TWMSize); message WM_SIZE;
procedure SetCaption(value:String);
function GetCaption:String;
procedure SetCur(value:Integer);
function GetCur:Integer;
procedure PanelMousedown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
public
{ Public declarations }
constructor Create(AOwner: TComponent);override;
destructor Destroy;override;
published
{ Published declarations }
property Caption: String read GetCaption write SetCaption;
property CurH:integer read GetCur write SetCur;
end;
procedure Register;
implementation
constructor TMySlidePanel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
CurV:=True;
{MAINPANEL}FMainPanel.Caption:="";
FMainPanel:=TPanel.Create(self);
FMainPanel.Parent:=Self;
FMainPanel.Width:=200;
FMainPanel.Height:=180;
{HEADERPANEL}FHeaderPanel.Caption:="FHeaderPanel";
FHeaderPanel:=TPanel.Create(Self);//(FMainPanel);
FHeaderPanel.Parent:=FMainPanel;
FHeaderPanel.Height:=20;
FHeaderPanel.Top:=0;
FHeaderPanel.Left:=0;
FHeaderPanel.Align:=alTop;
{BUTTONPANEL}FButtonPanel.Caption:="FButtonPanel";
FButtonPanel:=TSpeedButton.Create(Self);//(FHeaderPanel);
FButtonPanel.Parent:=FHeaderPanel;
FButtonPanel.Height:=FHeaderPanel.Height;
FButtonPanel.Width:=FButtonPanel.Height;
FHeaderPanel.Top:=0;
FHeaderPanel.Left:=0;
//ButtonPanel.Align:=alleft;
FButtonPanel.OnMouseDown := PanelMousedown;
// CHILDPANELFChildPanel.Caption:="FChildPanel";
FChildPanel:=TPanel.Create(Self);//(FMainPanel);
FChildPanel.Parent:=FMainPanel;
FChildPanel.Top:=FHeaderPanel.Height;
FChildPanel.Left:=0;
FChildPanel.Height:=FMainPanel.Height-FHeaderPanel.Height;
FChildPanel.Align:=alClient;
//FMainPanel.Autosize:=true;
//FHeaderPanel.Autosize:=true;
//FChildPanel.Autosize:=true;
Width:=FMainPanel.Width;
Height:=FMainPanel.Height;
Caption:=Name;
end;
procedure TMySlidePanel.WMSize(var Message: TWMSize);
begin
inherited;
FMainPanel.Width:=Message.Width;
FMainPanel.Height:=Message.Height;
FHeaderPanel.Width:=FMainPanel.Width;
FChildPanel.Width:=FMainPanel.Width;
FChildPanel.Height:=FMainPanel.Height-FHeaderPanel.Height;
end;
procedure TMySlidePanel.SetCaption(value:String);
begin
FHeaderPanel.Caption:=value;
end;
function TMySlidePanel.GetCaption:String;
begin
Result:=FHeaderPanel.caption;
end;
procedure TMySlidePanel.SetCur(value:Integer);
begin
FMainPanel.Tag:=value;
end;
function TMySlidePanel.GetCur:Integer;
begin
Result:=FMainPanel.Tag;
end;
procedure TMySlidePanel.PanelMousedown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if CurV then begin
CurH:=Height;
Height:=FHeaderPanel.Height;
end
else begin
Height:=CurH;
end;
CurV:=not CurV;
end;
destructor TMySlidePanel.Destroy;
begin
FButtonPanel.Free;
FChildPanel.Free;
FHeaderPanel.Free;
FMainPanel.Free;
inherited Destroy;
end;
procedure Register;
begin
RegisterComponents("Standard", [TMySlidePanel]);
end;
end.
← →
Nemra (2003-03-26 12:31) [4]Я думаю что кнопка принадлежит Tpanel
← →
Clickmaker (2003-03-26 12:54) [5]А Left и Top у FButtonPanel? Может она просто съехала за край панели?
← →
Nemra (2003-03-26 12:57) [6]Этот Button Нормально рисуется, уже в программе я размешаю кнопку на мою компоненту, а когда запускаю то он проподает :(
← →
Nemra (2003-03-26 12:59) [7]Как на созданную компоненту разместить элементы, для этого надо что нить дополнительное делать?
← →
Smithson (2003-03-26 13:03) [8]У этих элементов поставить .Parent := Твоему компоненту
← →
Nemra (2003-03-26 13:27) [9]Компонента рисуется нормально! В апректе я размещаю на форму мою компоненту. А на мою компоненту размещаю кнопку. Когда запускаю проект, то кнопка пропадает. Уже замучила, из - за чего понять не могу.
????
← →
malkolinge (2003-03-26 13:58) [10]Перешли компоненту на veselov@vimas.com хочу посмотреть поближе :)))
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.04.07;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c