Anonymní profil Mikeek – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Mikeek – Programujte.comAnonymní profil Mikeek – Programujte.com

 

Příspěvky odeslané z IP adresy 89.102.19.–

Mikeek
Delphi › Plynulý posun
16. 6. 2010   #130320

Ok, diky moc, od vikendu na tom začnu pracovat vic, kdyžtak se ozvu ;)

Mikeek
Delphi › Plynulý posun
16. 6. 2010   #130318

liborb, hafo diky, z tvého přispěvku jsem konečně dobře pochopil co vlastně dělám, moc diky :). Teď už mi to funguje. Respektive jsem zatim jenom u tohohle. Velikost te bitmapy je už drobnost.
Takže později až budu chtěl rozhybat kuličku tak vždycky budu muset překreslit jeji puvodni pozici kuličkou barvy jako pozadi a nakreslit ji o ten kousiček vedle? stejně tak i s nepřátelskými kuličkami?
Předpokládám že s plošinkami nebudde nejmenši problem, jen nakresleni do tohoto canvasu...

Mikeek
Delphi › Plynulý posun
15. 6. 2010   #130288

A ještě mě napadlo (doufám že už jsem se na to neptal), co kdybych to vše vykresloval přímo do canvasu toho formuláře a v něm to překresloval? Ale je to jenom takovej nápad, chápu, pokud je to nějaky špatny. Upřimně bych raději pokračoval v tomhle, abych se toho co nejvice přiučil, pokud se mnou budete mit trpělivost :)

Mikeek
Delphi › Plynulý posun
15. 6. 2010   #130285

ok, pak zkusim, ale bez řádku

vykres.Handle := GetDC(0);

mi to při spouštění vyhazuje chybu o které jsem se zmiňoval již výše.

Za ten parametr v BitBlt se omlouvám, neměl jsem tušení co to je :).

A ještě, jak přesně mysliš nahrazení té bitmapy tou vytvořenou?

Mikeek
Delphi › Plynulý posun
15. 6. 2010   #130248

Velice se omlouvám za dlouhou pauzu, ale mě jsem problémy s internetem a taky hodně práce... jestli je ještě někdo ochotný, rád bych pokračoval v projektu :).

na FormCreate tedy mam

kula:=TKula.Create;

Vykres:=TCanvas.Create;
han:=CreateCompatibleDC(canvas.Handle);
Vykres.Brush.Bitmap:=TBitmap.Create;
Vykres.Brush.Bitmap.Width:=form1.Width;
Vykres.Brush.Bitmap.Height:=form1.Height;
SelectObject(han,Vykres.Brush.Bitmap.Handle);
Vykres.Handle:=han;
vykres.Handle := GetDC(0);


dále na OnPaint mam
bitblt(form1.Canvas.Handle,0,0,40,40,vykres.Handle,0,0,0);

(snad jsem to pochopil dobře)

a na stisku tlačítka
Vykres.Brush.Color:=clyellow;

vykres.Ellipse(0,0,40,40);



Spustim program a na formuláři se mi objeví černý čtverec o souřadnicích 0,0,40,40.
Stisknu tlačítko a v levém horním rožku se mi objeví černý čtverec opět 40x40 a v něm žlutá kružnice (r=20).

Mám par otázek.

1) na co je mi tu procedura OnPaint, když už mi to vykresluje i tak?
2) jak to donutim, aby mi to vykreslovalo tu kružnici v oblasti, kde je formulář (resp. jak zjistim souřadnice formuláře na displeji)?
3) když program zminimalizuju a zmaximalizuju, kružnice zmizi. Tohle ošetřím jak?

Předem moc diky za vaši trpělivost se mnou :)

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý