Toon posts:

[c++builder] beweging van afbeelding.

Pagina: 1
Acties:

Verwijderd

Topicstarter
hoi goeiedag mensen,

Ik ben een programma in c++builder aan het maken en daarin bewegen nogal wat afbeeldingen. Helaas knipperen deze af en toe. Ik ben al een hele tijd aan het zoeken naar een oplossing hiervoor. Threads zou ik moeten gebruiken of blitten? Is er misschien iemand die een voorbeeld heeft hoe ik dit aan kan pakken.

Dit is volgensmij een erg moeilijk probleem, maar misschien zijn hier slimme mensen die t wel weten :) :) slijm slijm.

GreetZ Ellen.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

C++:
1
Form1->DoubleBuffered = true;

En de volgende keer wel eerst de search gebruiken want dit heb ik geloof ik al 10 keer uitgelegd hier op het forum.

Het is je eerste post dus ik zal het vriendelijk houden ;) Kun je wel even de FAQ lezen, oa. met betrekking tot groetjes en verzorging van openingsposts?

[ Voor 35% gewijzigd door curry684 op 26-05-2003 14:56 ]

Professionele website nodig?


Verwijderd

Topicstarter
oke bedankt, sorry dat ik het niet kon vinden bij search, maar er zijn ook zo veel posts!!

Alleen waar moet ik dat nu neerzetten? Ik heb "Form1->DoubleBuffered = true;" In de unit file gezet onder

"
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop

#include "test2_u.h"
//---------------------------------------------------------------------------
#pragma resource "*.dfm"
TForm1 *Form1;
Form1->DoubleBuffered = true; // << Hierzo.
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{

}
//---------------------------------------------------------------------------
"

alleen nu krijg ik de error: "Multipile declaration for ' Form1' ."

:( help me.

[ Voor 21% gewijzigd door Verwijderd op 26-05-2003 15:17 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
Gewoon ff logisch nadenken....

Wat is Form1?
Wat is DoubleBuffered en wat is de 'relatie' daarvan met Form1?

Form1 is een instance van de klasse TForm1. Form1 stelt dus jouw schermpje voor.
DoubleBuffered is een property van TForm.
Als je dus in de OnCreate Event van TForm1 het volgende zet:
code:
1
this->DoubleBuffered = true;

Dan staat de DoubleBuffered property van de form (van het type TForm1) die net gecreeërd is op true.

Hoe jij ertoe komt om die code daar neer te zetten snap ik niet echt. Misschien moet je wel ff wat leren over event-driven programming ?

https://fgheysels.github.io/


Verwijderd

Topicstarter
oke oke ik geef toe ik weet niet erg veel van c++builder. Het leuke is dat de property 'DoubleBuffered' niet herkend wordt, dus ik neem aan dat dat nog niet in mijn c++builder versie zit.

Helaas, maar toch bedankt allemaal voor de moeite.

  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
Ben je dat zeker?
Heb je al eens in de help gekeken?

DoubleBuffered is een property van TWinControl, en alle Windowed controls (ook TForm dus) erven over van TWinControl.

https://fgheysels.github.io/


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Zoals in dit topic te lezen valt zat deze property al in BCB3. Versie 2 heeft nooit bestaan en BCB1 had compleet andere semantics om forms te bouwen, dus jawel hoor in jouw versie bestaat hij ook... :)

Professionele website nodig?


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Trouwens whoami je maakt het met die referentie aan 'this' niet eenvoudiger. Je kunt het ook gewoon zo in de constructor (of elke andere member-functie) zetten:
C++:
1
DoubleBuffered = true;

Professionele website nodig?


  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
curry684 schreef op 26 May 2003 @ 16:00:
Trouwens whoami je maakt het met die referentie aan 'this' niet eenvoudiger. Je kunt het ook gewoon zo in de constructor (of elke andere member-functie) zetten:
C++:
1
DoubleBuffered = true;
Ja, je hebt wel gelijk.
Echter, ik ben gewoon van meestal (altijd) die this te gebruiken. Noem het gewoonte. :)

https://fgheysels.github.io/


Verwijderd

Topicstarter
Heel vaag, als het goed is wordt hier (college) versie 5.0 gedraait. Maar de property DoubleBuffered is nergens te vinden, ook niet in de help...

Raar maar waar.

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22-08 17:28

alienfruit

the alien you never expected

versie 5 is wel behoorlijk verouderd hoor! Zelfs versie 6 mag wel eens een update krijgen <g> Maar vijf zou die property toch echt wel moeten hebben, anders kun je um zelf ook wel maken :) Gewoon een bitmap maken en daar eerst op tekenen en dan pas later naar de canvas van de control werkt ook prima.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Versie 5 heeft 'm zeker (gebruik ik 'm al enige jaren in). Check in de help eens bij het topic TWinControl, klik op 'Properties' bovenaan in je scherm en zoek naar DoubleBuffered. Als ie echt hopeloos niet bestaat heb je absoluut zeker geen BCB5.

Professionele website nodig?


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Gewoon een bitmap maken en daar eerst op tekenen en dan pas later naar de canvas van de control werkt ook prima.
Nofi naar TS, maar als je dit ziet gok ik dat het iets te hoog gegrepen is wat je nu voorstelt. Haal dan meteen de echte DC's, DIB's en DDB's erbij zodat ze er helemaal niet meer uitkomt.

Professionele website nodig?


Verwijderd

Topicstarter
oke je hebt gelijk,

ik ga er nooit meer uitkomen :(. Nee ik geef nog niet op ik ga wel een nieuwere cnuilder versie halen. Bedankt allemaal voor de reacties. Goed dat jullie toch ook een wat klunsige beginner willen helpen :D.

tnx _/-\o_

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22-08 17:28

alienfruit

the alien you never expected

Hoeft nou ook weer niet meteen :)
Sorry, dat ik het nog onduidelijker maakte :(
Ik heb zelf C++ Builder 5 niet, maar ik ga wel vanuit dat ie DoubleBuffered property heeft hoor; doet eigenlijk hetzelfde wat ik boven opsomde ;) Anders upload je source eens, dan wil ik er wel naar kijken, krijg je mooi uitgebreid terug :D

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Verwijderd schreef op 30 mei 2003 @ 11:02:
oke je hebt gelijk,

ik ga er nooit meer uitkomen :(. Nee ik geef nog niet op ik ga wel een nieuwere cnuilder versie halen. Bedankt allemaal voor de reacties. Goed dat jullie toch ook een wat klunsige beginner willen helpen :D.

tnx _/-\o_
Ik bedoelde niet dat je er nooit zou uitkomen, ik zei alleen dat alienfruit het (zoals ie zelf ook nu inziet) nodeloos gecompliceerd maakte. Zet gewoon eens die DoubleBuffered setter in je code en als het goed is werkt het meteen perfect.

En we waren allemaal ooit eens 'klunzige beginners', het forum is er juist zodat zij die dat stadium voorbij zijn hun kennis en ervaring kunnen delen :)

Professionele website nodig?


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22-08 17:28

alienfruit

the alien you never expected

Tja. En vrouwen die willen programmeren die helpen wij graag :)
Pagina: 1