Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.14;
Скачать: CL | DM;

Вниз

ShellExecute + PopupMenu   Найти похожие ветки 

 
Sensor   (2003-07-02 04:26) [0]

Народ, кто может подскажите, plz!
У меня трабла вот в чем:
В ходе работы программы создается меню с пунктами (Caption): (например) C:\winnt\system32\cmd.exe
C:\Winnt\explorer.exe
Мне надо, что бы при клике на однои из пунктов меню запустилась программа.
...
NewItem.OnClick := TrayStart;
...
procedure TForm1.TrayStart(Sender: TObject);
var i: integer;
begin
for i := 0 to TrayMenu.Items.Count - 1 do begin
ShellExecute(Application.MainForm.Handle, PChar("open"), PChar(Traymenu.Items[i].Caption), nil, nil, SW_ShowNormal);
end;
end;

Где TrayMenu типа TPopupMenu.

В этом случае при клике на пункте у меня ничего не происходит.
Пробовал по-разному - итог один и тот же, ничего не работает. Иногда выдавало ошибку про символ & в пункте меню, пробовал убирал убирать его спомощью StripHotKey, работало, но сразу запускались все программы, что были в меню (а надо только одну, на которую нажали) =).
Вобщем ничего не понимаю, что делаю неправильно. Программа уже доделана, только неработает самое главное =), помогите народ =)


 
Zergling ©   (2003-07-02 06:12) [1]

Traymenu.Items[i].Caption
замени на
(Sender as TMenuItem).Caption


 
Zergling ©   (2003-07-02 06:26) [2]

Так получше будет. В цикле ни чего крутить не надо. Подчеркивание символов в меню отруби.
if (Sender is TMenuItem) then
ShellExecute(Application.MainForm.Handle, PChar("open"), PChar((Sender as TMenuItem).Caption), nil, nil, SW_ShowNormal);



Страницы: 1 вся ветка

Текущий архив: 2003.07.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
9-44536
Shadow
2003-01-26 20:45
2003.07.14
Как нарисовать изометрическую сетку?


3-44569
RNZ
2003-06-20 12:06
2003.07.14
Как упаковать базу mdb (Microsoft Access Database) ?


1-44656
Igorok
2003-07-02 12:36
2003.07.14
StringGrid + OnKeyPress


4-44956
Василий Петрович
2003-05-13 00:00
2003.07.14
Вопрос про статик и битмап...


8-44768
Intell
2003-03-25 07:40
2003.07.14
Как Tmediaplayer`у определить, что он проигрывает?