tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
504
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Nukleo Nukleo ist offline Mitglied Silber
    Registriert seit
    Aug 2004
    Beiträge
    60
    Hi,

    ich habe eine ComboBox mit fünf zur Laufzeit eingefügten Einträgen. Wenn ich die ComboBox aufklappe sehe ich aber nur zwei und muss zu den anderen runter scrollen. Was muss ich tun, damit ich alle fünf Einträge sehe.

    Dann hab ich noch ne Frage. Ist die ComboBox ausgewählt, reagiert sie sowohl auf hoch/runter Klicks als auch auf rechts/links Klicks. Ich will gerne, dass die rechts/links-Klicks an eine RadioButton-Group gehen. Geht das?

    Vielen Dank für Eure Hilfe,
    Emu
     

  2. #2
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Zitat Zitat von Nukleo Beitrag anzeigen
    Was muss ich tun, damit ich alle fünf Einträge sehe.
    Im Dialogdesigner rechts auf den Pfeil der ComboBox klicken. Dann kannst du den Listenbereich mit der Maus auf die passende Größe ziehen.

    Zitat Zitat von Nukleo Beitrag anzeigen
    Ist die ComboBox ausgewählt, reagiert sie sowohl auf hoch/runter Klicks als auch auf rechts/links Klicks. Ich will gerne, dass die rechts/links-Klicks an eine RadioButton-Group gehen. Geht das?
    Ich bin mir nicht sicher, ob's so funktioniert aber du könntest im Dialog die via "PreTranslateMessage" die an die ComboBox gerichteten rechts/links-Tasten abfangen und die entsprechenden Aktionen ausführen.

    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  3. #3
    Nukleo Nukleo ist offline Mitglied Silber
    Registriert seit
    Aug 2004
    Beiträge
    60
    Super,

    funktioniert beides. Danke! Nachfolgend der Code um die Tastenereignisse umzulenken. Hier sollen die auf einer RadioButtonGroup ausgeführten Hoch/Runter-Ereignisse an eine best. ComboBox übergeben werden. Vielleicht habt Ihr noch ein paar Verbesserungsvorschläge:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    
    BOOL CWinRapDlg::PreTranslateMessage(MSG* pMsg) 
         {
            // Ein Tastenereigniss ist eingetreten
              if(pMsg->message==WM_KEYDOWN)
              {
                  //das focussierte Steuerelement
                  CWnd* foc = GetFocus();
     
                  // alter Wert der ComboBox (ControlVariable)
                  int cm = (colorModel)(m_combo_cm.GetCurSel());
     
                  // alter Wert der RadioGroup (ValueVariable)
                  int ch = m_nChn;
     
                  // Prüfen ob eines der Radiobutton focussiert ist
                  if (GetDlgItem(IDC_RADIO1)->m_hWnd == foc->m_hWnd ||
                      GetDlgItem(IDC_RADIO2)->m_hWnd == foc->m_hWnd ||
                      GetDlgItem(IDC_RADIO3)->m_hWnd == foc->m_hWnd ||
                      GetDlgItem(IDC_RADIO4)->m_hWnd == foc->m_hWnd)
     
                          // Prüfen ob Hoch oder Runter gedrückt wurde
                          if (pMsg->wParam ==  VK_UP || pMsg->wParam == VK_DOWN)
                          {
     
                              //Wenn möglich Wert bei Up-Taste verringern
                              if(pMsg->wParam== VK_UP && cm > 0) cm -= 1;
     
                              //Wenn möglich Wert bei Down-Taste erhöhen
                              if(pMsg->wParam== VK_DOWN && cm <= 4) cm += 1;
     
                              //Neuen Wert an die Combobox übergeben
                              m_combo_cm.SetCurSel(cm);
     
                              //Werte der View an Arbeitsklassen übergeben
                              ShowValues();
     
                              // Ich vermute, dass hierdurch die Ereignisse nicht weiter verarbeitet werden
                              return true;
                        }
              } 
     
              return CDialog::PreTranslateMessage(pMsg);
           }
    Geändert von Nukleo (15.08.08 um 10:37 Uhr)
     

Ähnliche Themen

  1. Mit combobox Einträge im UF filtern
    Von steehfan im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 23.04.09, 11:55
  2. Einträge in Combobox implementieren
    Von bolshi im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 24.04.08, 19:33
  3. Einträge einer Combobox erweitern
    Von cstuwe im Forum .NET Windows Forms
    Antworten: 4
    Letzter Beitrag: 16.08.07, 10:36
  4. Combobox und die Einträge wieder entfernen
    Von Xervek im Forum Visual Basic 6.0
    Antworten: 8
    Letzter Beitrag: 03.02.06, 13:47
  5. Win32 API Combobox->Einträge
    Von elfvyn im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 27.06.05, 13:27