ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
537
537
EMPFEHLEN
-
08.10.08 08:07 #1
- Registriert seit
- Apr 2007
- Beiträge
- 194
Hi,
meine Anwendung liest Daten aus und erstellt während der Laufzeit die benötigten Komponenten.
Für jeden erfassten Datensatz werden eine bestimmte Kombination von Elementen erstellt (Button, ComboBox, Label)
Diese Komponenten habe ich in einer Klasse, die von CWnd abgeleitet ist, zusammengefasst.
Den Komponenten muss eine ID zugewiesen werden, was ja dynamisch geschehen muss. Des Weiteren muss jerder erstellte
Button beim Eventhandler registiert werden, aber wie mache ich das?
Sollte für jede Art von Komponente eine eigene fortlaufende Nummer erstellt werden oder lieber für alle Komponenten
eine einzige fortlaufende ID
Also Fall 1:
===================
Button 1: ID 1100
ComboBox 1: ID 1200
Label1: ID 1300
Button 2: ID 1101
ComboBox 2: ID 1201
Label2: ID 1301
oder Fall 2:
===================
Button 1: ID 1100
ComboBox 1: ID 1102
Label1: ID 1103
Button 2: ID 1104
ComboBox 2: ID 1105
Label2: ID 1106
Danke und LG
Chriss
-
10.11.08 00:46 #2
Hi Chriss,
ich habe deine Aufgabenstellung damals so umgesetzt:
1. Ich habe ID-Bereiche für die verschiedenen dynamisch generierten Controls definiert.
also für Buttons z.B. 5000-5999
und für Comboboxen 6000-6999
u.s.w.
Deine Applikation generiert nun dynamisch beliebig viele Buttons oder sonstige Controls.
Für das Event-Handling dieser dynamisch generierten Controls habe ich folgendes gemacht:
In der Überschreibung der virtuellen Methode PreTranslateMessage:
Code :1 2 3 4 5 6 7 8 9 10
if( pMsg->message == WM_COMMAND ) { int ctrlID = LOWORD(pMsg->wParam) ; // In ctrlId steht der ID-Code des Controls, welches das Event ausgelöst hat! if( ctrlId >= 5000 && ctrlId y= 5999 ) { doButtonEvent(ctrlId, HIWORD(wParam)); } else if(ctrlId >= 5000 && ctrlId y= 5999 ) { doComboboxEvent(ctrlId, HIWORD(wParam)); } }
Auf die Art und Weise habe ich eine beliebige Anzahl von Controls unter meiner Kontrolle.
Noch Fragen Immer her damit
Grüße,
PitGeändert von pschilling (10.11.08 um 00:50 Uhr)
Der Computer wird das tun, was du programmierst - nicht das, was du willst ;-)
Ähnliche Themen
-
C#: PreRender und Eventhandler bei dynamischen Buttons
Von Ryandel im Forum .NET Web und KommunikationAntworten: 7Letzter Beitrag: 19.10.10, 18:42 -
Mehrere Buttons - ein Eventhandler - Welcher Button wurde gedrückt?
Von silmepurpurdrache im Forum Coders TalkAntworten: 0Letzter Beitrag: 21.06.07, 16:24 -
sql id vergabe um + 1 höher
Von Frodooo im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 06.03.07, 08:34 -
AOL - IP-Vergabe
Von Hattrix im Forum Internet, DSL & FlatrateAntworten: 19Letzter Beitrag: 22.01.07, 11:44 -
PID vergabe / verwaltung
Von kle-ben im Forum Coders TalkAntworten: 0Letzter Beitrag: 07.01.07, 18:31





Zitieren
Login






