ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
504
504
EMPFEHLEN
-
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
-
Im Dialogdesigner rechts auf den Pfeil der ComboBox klicken. Dann kannst du den Listenbereich mit der Maus auf die passende Größe ziehen.
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
-
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
-
Mit combobox Einträge im UF filtern
Von steehfan im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 23.04.09, 11:55 -
Einträge in Combobox implementieren
Von bolshi im Forum .NET Windows FormsAntworten: 1Letzter Beitrag: 24.04.08, 19:33 -
Einträge einer Combobox erweitern
Von cstuwe im Forum .NET Windows FormsAntworten: 4Letzter Beitrag: 16.08.07, 10:36 -
Combobox und die Einträge wieder entfernen
Von Xervek im Forum Visual Basic 6.0Antworten: 8Letzter Beitrag: 03.02.06, 13:47 -
Win32 API Combobox->Einträge
Von elfvyn im Forum C/C++Antworten: 5Letzter Beitrag: 27.06.05, 13:27





Zitieren

Login






