![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Real Time Панель
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