Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » Feststellen welcher Menüpunkt gedrückt wurde

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
22.12.2004, 12:01 Uhr
~BennyB
Gast


Ich habe ein dynamisches Menü erstellt und jedem Eintrag die selbe Funktion hinterlegt.
Ich will nun in der Funktion überprüfen welcher Eintrag gedrück wurde.
Ich bin leider noch Anfänger was c++ und vor allem builder angeht, habe mich rangetastet, komme aber leider jetzt nicht weiter.

Danke für Hilfe und Ideen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.12.2004, 13:37 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!

Wenn jeder Menüpunkt über die selbe Funktion aufgerufen wird, bleibt Dir nur noch, den ersten Parameter (sender) der Funktion zu überprüfen - das ist nämlich genau der Menüpunkt, der das Ereignis ausgelöst hat.
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
22.12.2004, 16:39 Uhr
~BennyB
Gast


Danke, das hilft mir weiter.

Habe aber schon die nächste Frage,

Ich habe eine CheckListBox und will mit dem Namen vergleichen, dass kann mir Sender ja nicht machen, oder?


Code:
  datei = fopen ("config.set","r");
  fscanf(datei,"%d,%d",&programm_anzahl, &menu_anzahl);
  fclose (datei);

  for (i=0;i<programm_anzahl;i++)
  {
    if (Sender == ms[i].name)
    {
      ms[i].install = 1;
    }
  }

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
22.12.2004, 16:57 Uhr
~BennyB
Gast


ms[i].name ist ein char array

ich weiß nicht wie ich ein ansistring aus einer datei einlese.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
22.12.2004, 23:43 Uhr
~BennyB
Gast


So ich bin zwar weitergekommen mit meinem Projekt, doch hänge ich schon seid zwei Stunden an einem dummen Problem und habe leider keinen Ansatz.

Ich habe eine Form mit mehreren Kontrollkästchen, diese werden dynamisch erstellt mit der "gleichen" Variable.


Code:
    for (j=0;j<programm_anzahl;j++)
    {
      if (strcmp(ms[j].typ,menuenamen) == 0)
      {
        TLabel *NewLabel = new TLabel(MultInst);
        NewLabel->Parent = NewBox;
        NewLabel->Name = ms[j].name;
        NewLabel->Left = 2;
        NewLabel->Top = 3 + ypos_box;

        TCheckBox *NewButton = new TCheckBox(MultInst);
        NewButton->Parent = NewBox;
        strcpy(temp,"But_1_");
        strcat(temp,ms[j].name);
        NewButton->Name = temp;
        NewButton->Caption = "";
        NewButton->Left = 200;
        NewButton->Top = 0 + ypos_box;
        NewButton->Height = 23;
        NewButton->Width = 10;
        NewButton->Checked = true;
        NewButton->OnClick = kaesten_kontrolle;

        TCheckBox *NewButton2 = new TCheckBox(MultInst);
        NewButton2->Parent = NewBox;
        strcpy(temp,"But_2_");
        strcat(temp,ms[j].name);
        NewButton2->Name = temp;
        NewButton2->Caption = "";
        NewButton2->Left = 210;
        NewButton2->Top = 0 + ypos_box;
        NewButton2->Height = 23;
        NewButton2->Width = 10;

        TCheckBox *NewButton3 = new TCheckBox(MultInst);
        NewButton3->Parent = NewBox;
        strcpy(temp,"But_3_");
        strcat(temp,ms[j].name);
        NewButton3->Name = temp;
        NewButton3->Caption = "";
        NewButton3->Left = 220;
        NewButton3->Top = 0 + ypos_box;
        NewButton3->Height = 23;
        NewButton3->Width = 10;

        ypos_box+=15;
      }
    }



Wie kann ich über einen ButtonClick prüfen, welche Kästchen enabled sind und kann ich irgendwie auf den Namen der Kästchen wieder zugreifen.

Ich will ein prüfen Button machen, der mir alle ms[j].name mit den "dazugehörigen" Kontrollkästchen prüft und je nach dem welches der drei aktiv ist mir einen Wert in eine Datei schreibt.

Das mit der Datei ist unwichtig, wenn ich erstmal wüsste, wie ich die Kästchen überprüfen kann (mit Hilfe ihres Namen);

Habe es mir so vorgestellt (syntax falsch):

Code:
If (Kontrollkästchen == true)
{
  for (i=0;;i++)
  {
    temp[i] = kontrollkästchen[5+i];
    for (j=0;j<=programm_anzahl;j++)
    {
      if (strcmp(temp,ms[j].name) == 0)
      {
        ms[j].install = 1;
      }
    }
  }
}




Vielen Danke für eure Mühe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: