Jak po naciśnieciu przycisku zrobic nową zakładk

0

Jak po naciśnieciu przycisku zrobic nową zakładkę na PageControl?

0

Var T:TTabSheet;
Begin
T:=TTabSheet.Create(Nil);
T.PageControl:=PageControl1;
End;

0

Ja tam wole tak...

with TTabSheet.Create(Self) do
begin
PageControl := PageControl1;
Caption := 'Ble Ble';
end;

:-) ;-)

0

a jak zrobić żeby na tej zakładce był komponent Tmemo

0

To się zapoytaj o wszystko naraz a nie osobno.

With TMemo.Create(Self) Do
Begin
Parent:=TabSheet;
Visible:=True;
End;

0

postanowilem przykleic sie do tego tematu... tworze dynamicznie przycisk
mam zdefiniowana procedure
[code] published
procedure Click(Sender: TObject);[/code]
jak dodac do tego przycisku dzialanie OnClick aby wykonywal ta procedure..
wszystkie wlasciwosci zakladki prosperities Inspektora Obiektow latwo ustawic
a jak zrobic z wlasciwoscimi zakladki Events

0

przycisk tworze w petli tak
[code]
newButton:= TButton.Create(Self);
with newButton do
begin
newbutton.Parent :=FormKontrahenciAll;
newButton.Visible := True;
newButton.Left := 624;
newButton.Top := 75 +(i*15);
newButton.Width := 25;
newButton.Height := 14;
newButton.Caption := 'x';
newButton.OnClick = Click; // chcialo by sie by to tu zadzialalo niestety
end;
[/code]
przy kompilowaniu tego komunikat
[Error] KontrahenciAllFrm.pas(159): Not enough actual parameters
klopot jest jedynie z ostatnia linijka bo kiedy ja wloze w komentarz to ladnie sie kompiluje i wyswietla kilka przyciskow..

jak przypisac procedure Click przyciskowi?

0

nikt nie moze mi pomoc :-( to dla mnie bardzo wazne.. komu sie uda ten jest wielki ;-)

0

Hej!!

Zdarzenie OnCLick jest typu TNotifyEvent, wiec procedura Click musi spełniać też te warunki. Deklaracja procedury Click:

Procedure Click(Sender:TObject);

0

ale wlasnie tak mam zadeklarowana procedure.. chyba ze powinna wygladac inaczej (kilka postow wyzej)

zeby nie bylo ze nie szukalem w helpie Delphi znalazlem temat

Adding a TMenuItem to a Popup menu at runtime example

niestety tez nie dziala..
ja potrzebuej chyba dokladne wyjasnienie a nie wskazowki ;)

0

Po With nie muszisz już pisać: "newButton."

Natomiast ta procedura musi być w klasie TForm tzn. że jedna z jej deklaracji powinna wyglądać tak:
Procedure TForm1.Click(Sender:TObject);

0

zmienilem i jest tak jak piszesz ale taj jedna linijka w kodzie jest dalej bledna
nie chcialem tego robic ale oto caly kod programu

[code]unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
testButton: TButton;
procedure FormCreate(Sender: TObject);
procedure Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R .dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
newButton: TButton;
begin
for i:=1 to 3 do
begin
newButton:= TButton.Create(Self);
with newButton do
begin
Parent :=Form1;
Visible := True;
Left := 250;
Top := 75 +(i
15);
Width := 45;
Height := 14;
Caption := IntToStr(i);
OnClick = Click; //co tu zmienic?
end;
end;
end;
procedure TForm1.Click(Sender: TObject);
var
P: Integer;
begin
P := (Sender as TButton).Top;
ShowMessage(IntToStr(P));
end;
end.[/code]
procedura click dziala i wyswietla od gory wysokosc przycisku po odkomentowaniu linijki OnClick= ... program wyglada tak z wywolana procedura z przycisku testButton ale on nie byl tworzony dynamicznie
user image
moze teraz :)

0

[glowa] O w morde!!

Ty nie masz tam znaków "podstaw" tylko "równa się"!!
Masz tak OnClick=Click;
a ma być OnClick:=Click;

Rozmawiasz ze ślepym gościem. [glowa]

0

kiedy jest :=
[Warning] Unit1.pas(13): Method 'Click' hides virtual method of base type 'TControl'
[Error] Unit1.pas(44): Incompatible types: 'Parameter lists differ'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

i ten znak rowna sie wzialem z delphi help o tworzeniu popupmenu dynmaicznego

bledy gdy samo =
[Warning] Unit1.pas(13): Method 'Click' hides virtual method of base type 'TControl'
[Error] Unit1.pas(44): Not enough actual parameters
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

0

Zmień nazwę tej procedurki na np. DButtonClick

0

Szymek jestes wielki :)
teraz wszystko dziala jak powinno [hurra]
po zmianie nazwy procedury i jednak mialo byc :=
OnClick := DButtonClick;

1 użytkowników online, w tym zalogowanych: 0, gości: 1