Avatar billede mcgoat Nybegynder
08. august 2003 - 12:45 Der er 4 kommentarer og
1 løsning

Koden til at tilgå Menuitems man ikke kender

Hej igen alle sammen...
Jeg er ved at lave en DVD afspiller, og der skal selvfølgelig være en Popummenu så man kan vælge chapter etc...

I den følgende kode har jeg bare lavet 10 stk bare for test, så der kan jeg jo sagtens lave:
nytitem->OnClick = mitKlik;
og så lave funktionen.

Men hvordan laver jeg dette når det er dynamisk?? ved jo ikke hvor mange chapters der er på den pågældende disk før den bliver loaded...


void __fastcall TForm1::FormCreate(TObject *Sender)
{
  for(int i = 1; i < 11 ; i++)
  {
      TMenuItem *nytitem = new TMenuItem(Owner);
      nytitem->Caption = "Chap: " + String(i);
      nytitem->Name = "ITEM" + String(i);
      Chapter->Insert(i-1,nytitem);
  }
}
Avatar billede webshortcut Nybegynder
08. august 2003 - 12:57 #1
Chapter->Items[i] (o..n)
Avatar billede mcgoat Nybegynder
08. august 2003 - 13:09 #2
mmm, kan du komme med et lille eksempel??

kan jo godt give dem forskellige OnClicks
nytitem->OnClick = (Klik+i); ??? eller hva

men skal jo så også have lavet funktioner til dem når jeg trykker på dem, og "i" kan jeg jo ikke bruge(det var bare til test) da jeg ikke ved hvor mange chapters der er....
Avatar billede webshortcut Nybegynder
08. august 2003 - 15:39 #3
hmmm jeg er ikke sikker på at jeg forstår dit spørgsmål helt
er det den samme program kode der skal løbes igennem hver gang der
kommer et onClick event uanset hvilke menuitem der trykkes på
for så skulle du nok kunne bruge din kode nyItem->OnClick = mitKlik

hvis det er forskellig kode der skal være til hvert onclick event
og du ikke ved hvor mange menuItem der kommer så har har du jo ikke en
change for at kode alle metoderne.

Men forstår jeg det rigtigt så skal der være et menuitem med et chapter som
man så hopper til når der klikkes på menuItem så skulle du jo kunne nøjes med en kode der hopper til det pågældende chapter det du så skal havde af vide er hvilke chapter er der trykket på det kan du gøre ved følgende
MenuItem->MenuIndex fortæller hvilke nummer i popup menu den er
Avatar billede webshortcut Nybegynder
08. august 2003 - 15:40 #4
lige en ting til
PopUpMenu->Items[i] giver dig nummer i menuItem
Avatar billede mcgoat Nybegynder
10. august 2003 - 13:46 #5
Takker :o)
Jeg fandt dog ud af at man kunne sætte et tag på:
nytitem->tag = i;

Og så i Onclick event kan man dynamic_cast så man får den med over så man kan tjekke hvilken der er blevet trykket på
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester