![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() создаю динамически Image
Код:
procedure TForm1.Button1Click(Sender: TObject); var icon :TIcon; begin imag:=TImage.Create(self); imag.Parent:=Form1.Panel1; imag.Left:=10; imag.Top:=10; imag.AutoSize:=true; imag.Picture.Icon:=icon; imag.OnDblClick:=OpenLabel; //вот нажатие обрабатывается процедурой end; procedure TForm1.OpenLabel(Sender: TObject); begin ShellExecute(handle, 'open', filename, nil, nil, SW_SHOWNORMAL); end; imag.OnDblClick вобщем вопрос: как передать в процедуру или функцию дополнительный параметр с типом string |
#2
|
||||
|
||||
![]() Ну я бы делал так.
Код:
... создаю каритнку... imag.Tag := i; // где i - как раз разница между картинками (либо надо было делать массив картинок var a: array of TImage) // то бишь i - просто переменная. inc(i); // i:=i+1; Код:
...openLabel... begin case TImage(Sender).Tag of 1: ShellExecute(handle, 'open', '1', nil, nil, SW_SHOWNORMAL); 2: ShellExecute(handle, 'open', '2', nil, nil, SW_SHOWNORMAL); 3: ShellExecute(handle, 'open', '3', nil, nil, SW_SHOWNORMAL); else ShellExecute(handle, 'open', '4', nil, nil, SW_SHOWNORMAL); end; Помогаю за Спасибо ![]() |
#3
|
|||
|
|||
![]() я слегка не понял, мне нужно запускать файлы, причем заранее они мне будут не известны и количество тоже
|
#4
|
||||
|
||||
![]() Код:
var Form1: TForm1; S: String; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var icon : TImage; begin imag:=TImage.Create(self); with imag do begin Parent:=Form1.Panel1; Left:=10; Top:=10; AutoSize:=true; Picture.Icon:=icon; OnDblClick:=OpenLabel; S:='myfile.exe'; end; end; procedure TForm1.OpenLabel(Sender: TObject); begin ShellExecute(handle, 'open', s, nil, nil, SW_SHOWNORMAL); end; Помогаю за Спасибо ![]() |
#5
|
||||
|
||||
![]() Либо если несколько картинок создаешь:
Код:
S: String; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var icon : array[1..3] of TImage; i: integer; begin for i:=1 to 3 do begin imag[i]:=TImage.Create(self); with imag[i] do begin Parent:=Form1.Panel1; Left:=10; Top:=10; AutoSize:=true; Picture.Icon:=icon; OnDblClick:=OpenLabel; S:='myfile.exe' + IntToStr(i); // изменяй здесь название файла end; end; procedure TForm1.OpenLabel(Sender: TObject); begin ShellExecute(handle, 'open', s, nil, nil, SW_SHOWNORMAL); end; Помогаю за Спасибо ![]() |
#6
|
|||
|
|||
![]() видимо надо полностью описать ситуацию:
по нажатии кнопки я создаю на panel один новую иконку открываемого файла, и после этого я должен нажать на эту созданную иконку и запустить файл, то есть в любой момент времени я могу вызвать функцию запуска файла и должен туда передать путь а у тебя получается Код:
for i:=1 to 3 do begin imag[i]:=TImage.Create(self); with imag[i] do begin Parent:=Form1.Panel1; Left:=10; Top:=10; AutoSize:=true; Picture.Icon:=icon; OnDblClick:=OpenLabel; S:='myfile.exe' + IntToStr(i); // изменяй здесь название файла end; |