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

Вниз

Количество пунктов подменю в зависимости от количества CD-ROM ов   Найти похожие ветки 

 
Xrusha   (2005-08-24 05:01) [0]

Здравия всем!
В моей программе идёт автоопределение находящихся в системе CD-ROM, включая также и виртуальные. Код такой:

var u, mask, y : integer;
   s, VolLabel, SN, FileSystem, s1: String;
begin
mask := GetLogicalDrives;
u := 0;
while mask<>0 do
begin
s:= chr( ord("A") + u) + ":/";
if (mask and 1) <> 0 then
 case GetDriveType(PChar(s)) of
  DRIVE_CDROM     : ListBox1.Items.Add(s);
 end;
inc(u); mask := mask shr 1;
end;

end;

А вопрос такой: можно ли в зависимости от количества CD-ROM"ов (т. е. от Count в ListBox1) автоматически создавать такое же количество пунктов подменю в PopupMenu? Т. е. во время работы приложения, если появляется или исчезает, например, Virtual CD, то соответственно появляется или исчезает пункт подменю.
А то мне логики, видимо, не хватает.


 
KilkennyCat ©   (2005-08-24 05:22) [1]

This example demonstrates how to add and delete menu items to a popup menu at runtime and assign an event handler to the OnClick event.

procedure TForm1.AddButtonClick(Sender: TObject);
var
 index: Integer;
 NewItem: TMenuItem;
begin
 for index := 0 to 3 do
 begin
   NewItem := TMenuItem.Create(PopupMenu1); // create the new item
   PopupMenu1.Items.Add(NewItem);// add it to the Popupmenu
   NewItem.Caption := "Menu Item " + IntToStr(index);
   NewItem.Tag := index;
   NewItem.OnClick = PopupMenuItemsClick;// assign it an event handler
 end;

end;


Справка Делфи, однако ;)


 
KilkennyCat ©   (2005-08-24 05:23) [2]

procedure TForm1.DestroyButtonClick(Sender: TObject);
var
 ItemToDelete: TMenuItem;
begin
 ItemToDelete := PopupMenu.Items[2];
 ItemToDelete.Free;
end;


 
Xrusha   (2005-08-24 13:44) [3]

KilkennyCat, а не подскажете, где именно это написано. А то я что-то не могу найти.


 
KilkennyCat ©   (2005-08-24 15:46) [4]

VCL Reference
Create constructor (TMenuItem)

TMenuItem + ctrl+F1
выбираем Methods , затем Create


 
Xrusha   (2005-08-25 13:57) [5]

Спасибо!



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

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

Наверх




Память: 0.48 MB
Время: 0.039 c
14-1126548972
Qween
2005-09-12 22:16
2005.10.02
Как в memo определить общее количество строк?


14-1126099318
Андрей Жук
2005-09-07 17:21
2005.10.02
Ваш прогноз на сегоднешний футбол


1-1125558825
Андрей Жук
2005-09-01 11:13
2005.10.02
Максимизация окна приложения в WinXP


14-1126110434
MegaVolt
2005-09-07 20:27
2005.10.02
Помогите найти тему про создание файлов большого размера без ...


1-1126287548
Michael5
2005-09-09 21:39
2005.10.02
Splitter при установке св-ва Panel3.Visible:=true отказывается