C
Hi nochmal,
Ynnus schrieb:
Die Objekte sind global gültig[...]
LOL ...Na also...und das soll man ja bekanntlich vermeiden...
Ynnus schrieb:
Ich kann hier keine Schleifen verwenden, da ich den Objekten eigenständige Namen gebe und dazu noch etliche Informationen über die Position, die genutzte Callback-Funktion, Titel und der WM_COMMAND-identifikation usw. Alles eben in einer objectname.create()-Funktion. Das ist mit Schleifen und Variablen schwer zu realisieren. Ich schreibe somit jedes Objekt aus
Doch! Ok 'können' hängt hier ja noch von anderen Faktoren ab . Aber du kennst doch Arrays oder ? ...
Du kannst da, für 'genutzte Callback-Funktion' Funktionstabs erstellen und 'Titel' in ein 1-dimensionales std::string-Array schreiben...das gleiche gilt für Positions und Control-Id's ... .
Ich verstehe zwar, dass du gerne mit korrekt 'benannten' Objekten arbeitest....aber auch da gibt Wege...zum Beispiel dieser:
CExampleClass cObjects[100];
enum EObjectIndex
{
main_window = 0,
open_gl_window = 1,
// usw...
};
// Benutzung dann so:
cObjects[main_window].Method(params);
Ynnus schrieb:
[...]aber in der Theorie ist das ziemlich blöd zu erklären. Es sind auch jeden Fall eine Hand voll unterschiedlicher Klassen die Objekte haben und auf unterschiedliche Weise mit verschiedensten Parametern erstellt werden, für eine automatische Schleife zu umständlich zu realisieren. So. ^^
Jo stimmt!^^ Ich glaub wir reiten hier auch auf Kleinigkeiten herum...aber die Idee mit der Enum als Index ist schon raffiniert^^
Ynnus schrieb:
[...]Ein Button hat immer die Größe (z.B.) 80, 20 und wird da nicht geändert. Deshalb steht er auch nicht in der WM_SIZE und damit umfasst die WM_SIZE bei mir auch nur etwa 40 Zeilen der wichtigsten Dinge, die geändert werden.
lol, jo genau so hatte ich das auch gemeint...alle die Controls die angepasst werden müssen kommen unter WM_SIZE, alle fixierten werden bei der Erstellung auf die richtige Pos./Größe gesetzt...wir meinten also das gleiche .