Toon posts:

[c++] Objecten run-time aanmaken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een vraag over het aanmaken van objecten tijdens run-time.

Ik wil een blok als object op mijn canvas plaatsen terwijl mijn applicatie al draait.
Uiteindelijk moet ik dus meerdere blokken op het canvas plaatsen.

Weet iemand hoe ik dit kan realiseren?

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:40
Kijk eens naar pointers, de new operator, etc....

https://fgheysels.github.io/


Verwijderd

Wat is de bedoeling?

Als je simpel blokken moet tekenen zou ik me nie moe maken met objecten, maar gewoon DrawRect() of whatever het heet aanroepen.

Als die blokken toch objecten zijn maak je ze gewoon op de heap aan met new, en verzin je een ingenieus mechanisme om die blokken op het canvas te laten tekenen.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

En hebben we het hier over BCB? Beetje vage vraagstelling als ik eerlijk mag zijn :)

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

Topicstarter
Met blokken bedoel ik niet alleen een drawrect() maar een block waarin ik eigenschappen kan veranderen van een class die ik zelf gemaakt heb. Die blokken worden dan aan elkaar gekoppeld met een lijn class. Welke compiler maakt verder niet zo veel uit ( Borland, Kylix, Visual) het komt toch op het zelfde neer volgens mij. Dat wat pointers betreft en de new operator ben ik aan het uitzoeken. Ik zie niet precies hoe ik voor iedere object dat ik aanmaak een andere pointer naam kan aanmaken. Ik kan dan wel een object op het scherm plaatsen, maar zou hem dan niet meer kunnen aankomen omdat ik geen naam voor hem heb dan toch?

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:40
Je kan een array, vector oid gebruiken waarin je referenties naar die blokken in opslaat.
Je kan dan die vector / array whatever gaan gebruiken om je at - runtime gecreeërde objecten aan te spreken.

[ Voor 38% gewijzigd door whoami op 03-07-2003 15:45 ]

https://fgheysels.github.io/


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 21-08 17:14
Sterker nog, je zou die blokken in de vector zelf kunnen zetten. Wat je dan moet doen is in de paint event die vector aflopen & tekenen, maar dat is natuurlijk uit het boekje.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • klinz
  • Registratie: Maart 2002
  • Laatst online: 10-08 15:44

klinz

weet van NIETS

Zoiets:
code:
1
2
3
TPaintBox *PaintBox = new TPaintBox(this);
PaintBox->Parent = this;
//  todo: andere properties (left, top, width, height etc.) zetten
Pagina: 1