Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.009 c
14-19870
SiJack
2003-03-21 16:11
2003.04.07
Люди нужен ли Java


1-19677
Levova
2003-03-26 10:28
2003.04.07
string -> char


7-19880
alexsandri
2002-12-20 17:31
2003.04.07
Возможно полные бредни ,но все же


1-19671
Filmax
2003-03-26 05:06
2003.04.07
Как преобразовать строку2


14-19757
petr_v_a
2003-03-22 17:33
2003.04.07
MSSQL 7 Все ли я правильно понял?





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