Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Real Time Панель


Страницы:   1 2

Steep ©   (2007-04-03 14:38:00) 

Все-таки думаю решить проблему с панелью иным методом
т.е. будет форма на ней должны автоматом создаватся клавиши
(например при выборе в меню добавить)
Не подскажете как кинуть на панель кнопку, в заданное месторасположение + натянуть на нее иконку (битмап)?
..

var Button1:TButton;
begin
Button1:=TButton.crete(Form1{сдесь наверно можно просто указать панель?});
With Button do
begin
 width:=10; // длина
 height:=10; //высота
 top:=0; //если это координата сверху - то где же снизу?
end;
end;

//не совсем понял где, же координаты...
А потом еще и как-то кинуть на нее событие... (а ведь ее еще надо найти...)
ЗЫ Заранее списибо!


{RASkov}   (2007-04-03 15:50:00) [1]

> Кланююся!!

Лоб не расшиби :) А то потом опять этот-же вопрос будет :)


Steep   (2007-04-03 15:47:00) [2]

Большое спасибо всем!!!!!
Кланююся!!


{RASkov}   (2007-04-03 15:32:00) [3]

> [32] SergGG ©   (03.04.07 15:28)
> См. [26]- РАБОТАЕТ

Ссылка
> Button: TSpeedButton;

будет утерена поэтому в ней нет необходимости...


Ega23   (2007-04-03 15:30:00) [4]


> токо теперь вопрос а какое имя у этой кнопки?И как ее закилить?


procedure TForm1.Button1Click(Sender: TObject);
begin
With TSpeedButton.Create(Self) do
 begin
  Parent := Panel1;
  SetBounds(10, 10, 100, 25);
  Caption := 'Кнопка';
  OnClick :=MyButtonClick;
  Glyph.LoadFromFile('E:\NEW.BMP');
  Name := 'MySuperButtonName';
  Anchors := [akTop, akLeft];

 end;
end;


SergGG   (2007-04-03 15:28:00) [5]

См. [26]- РАБОТАЕТ


{RASkov}   (2007-04-03 15:27:00) [6]

> [30] Steep ©   (03.04.07 15:24)

при твоем подходе ее закилит форма или кто там при create был...


Steep   (2007-04-03 15:24:00) [7]

Спасибо всем! за помощь!
Ответь плиз если не влом

> токо теперь вопрос а какое имя у этой кнопки?И как ее закилить?


{RASkov}   (2007-04-03 15:24:00) [8]

> [27] Sonia ©   (03.04.07 15:20)

А чем этот "синтаксис":
> Procedure TForm1.OnClickButton( Sender : TObject );

отличается от этого

> Procedure TForm1.Button1Click( Sender : TObject );

???? :)


{RASkov}   (2007-04-03 15:22:00) [9]

Вообще при таком подходе
> With TSpeedButton.Create(Self) do

переменную типа TSpeedButton описывать не надо, о чем тебя предупредит среда.


Sonia   (2007-04-03 15:20:00) [10]


> {RASkov}   (03.04.07 15:14) [23]
> > Ну так сам Delphi пишет (в плане синтаксиса)
>
> При чем здесь это? Для каждой, вновь созданной в рантайм
> кнопки, свой обработчик по "правилам" делфи делать?

Ты меня вообще не понял :) Я поправила тока синтаксис


SergGG   (2007-04-03 15:20:00) [11]

procedure TForm1.BitBtn1Click(Sender: TObject);
var
Button: TSpeedButton;
FileName: String;
begin
Button:=TButton.Create(nil);
with Button do
begin
  Parent := Panel1;
  SetBounds(10, 10, 50, 50);
  //Caption := '';
  Glyph.LoadFromFile(FileName);
  OnClick := MyButtonClick;
end;
end;


Steep   (2007-04-03 15:19:00) [12]


> > var
>> TButton: TSpeedButton;
>
> Ты сам понял, что написал?

Самому смешно стало :)


{RASkov}   (2007-04-03 15:16:00) [13]

> > var
> > TButton: TSpeedButton;
>
> Ты сам понял, что написал?

Т.е. я имел ввиду связку:

> var
> TButton: TSpeedButton;
> FileName: String;
> begin
> with TButton.Create(Form1)do
> begin


{RASkov}   (2007-04-03 15:14:00) [14]

> Ну так сам Delphi пишет (в плане синтаксиса)

При чем здесь это? Для каждой, вновь созданной в рантайм кнопки, свой обработчик по "правилам" делфи делать?


> [21] Steep ©   (03.04.07 15:10)

> var
> TButton: TSpeedButton;

Ты сам понял, что написал?


Steep   (2007-04-03 15:13:00) [15]

А понял:
begin
With TSpeedButton.Create(Self) do

токо теперь вопрос а какое имя у этой кнопки?
И как ее закилить?


Steep   (2007-04-03 15:10:00) [16]


> uses Buttons   (для Delphi7)

ну и делфи 2006 тоже ;) Пасип..
Вобщем код теперь следующий:

procedure TForm1.MyButtonClick(Sender : TObject);
begin
 ShowMessage('Клик');
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 TButton: TSpeedButton;
 FileName: String;
begin
 with TButton.Create(Form1) do
 begin
   Parent := Panel1;
   SetBounds(10, 10, 50, 50);
   //Caption := '';
   Glyph.LoadFromFile(FileName);
   OnClick := MyButtonClick;
 end;
end;


При нажатии на клавишу пишет Stack OverFlow.. даже если Glyph. закометить...


Sonia   (2007-04-03 15:09:00) [17]


> Procedure TForm1.Button1Click( Sender : TObject );
> [8] Sonia ©   (03.04.07 14:53)
>
> А это вобще не то.


Ну так сам Delphi пишет (в плане синтаксиса)


{RASkov}   (2007-04-03 15:09:00) [18]

> но делфяк ругается на TSpeedButton

Это она на тебя ругается, а не на TSpeedButton :)


Ega23   (2007-04-03 15:04:00) [19]


> Щас вот попытался сделать что Ega23 ©  написал, но делфяк
> ругается на TSpeedButton


uses Buttons   (для Delphi7)


Steep   (2007-04-03 15:03:00) [20]

>[7], [9], [10] - это так просто было? Со стенкой....
Про парент я понял, еще просто сделать не успел ;)
Щас вот попытался сделать что Ega23 ©  написал, но делфяк ругается на TSpeedButton


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо