Köszi sali t!
Sajna az üzenetkezelés nem megy, mire egy edit control saját dispach-e megkapja az üzenetet, már a keyboard eho megtörténik, max azt értem el, hogy lelépni már nem tudott. Egyébként hasonló érdekes történik, ha egy controll éppen fókuszt kap, és az owner ablak focuschange üzenetét kezelve 'röptében' letiltod az adott (edit) controlt. Ilyenkor ott ragad, lelépni,átkattintani már nem lehet, de a begépelést elfogadja. Ilyenkor az ablak összes többi controlja 'lefagy', be se lehet csukni az ablakot. Végülis egyszerűen, ha letiltottam egy edit controlt, az ablak focushange üzenetében 'továbblököm' egy másik controlra.
"A legrövidebb kígyós játék, amivel találkoztam, 256 bájt (sic!) volt!"
Ebbol az kovetkezik, hogy meg nem lattad az en gilisztas jatekomat Mar vagy 4-5 eve irtam, az vol az egyik elso asm programom, utolag atnezve rengeteg hulyeseg van benne, de az kb. 220 byte volt, es nem almak voltak benne, hanem szamok, a 9-es utan szintet lepett, volt szep keret a kepernyon, stb. Gondoltam bemasolom ide bizonysagul, de semmit koze a topic temajahoz, ugyhogy megse teszem. 1-2 viszont a suliba kellet hazi feladatkent csinalni asm jatekot, ha jol emlekszem, olyan 170-180 byte lett, de az a verzio elveszett ut kozben...
Solymi: MFC -vel vagy anelkul? Biztos, hogy a megfelelo ablaknak a meretet allitottad at? Mert pl. a kliens ablakot hiaba probalod allitgatni, azt a frame window -hoz kepest allitja magatol (valami ilyesmik az elnevezesek, azt hiszem).
A masik problema: most igy hirtelen 2 dolog jutott eszembe: 1. sajat control osztalyt csinalsz, aminek legyen egy m_bMyEnabled adattagja es eg MyEnable() fuggvenye. Kezeld le az ablak uzeneteit. Ha m_bEnabled == FALSE, akkor nem csinalsz semmit, kulonben __super::OnMessage() Masik otlet: owner draw legyen az ablak.
"Nagyon alap dolgokat tudok (rectangle + ilyesmi)" mas nem is kell hozza. Esetleg a WM_TIMER -re keress ra.
hmm. azért kérdezek még, hátha ere jön válasz. szóval ugy szeretnék egy controlt, mondjuk egy edit-et, letiltani, hogy a megjelenése ne változzon, azaz ne legyen dimmed. van erre vmi trükk?
sziasztok! sajnos nincs külön ca-vo visual object téma, de hátha tud vki segiteni. szóval létrehozok egy ablakot mindenfélével. a méretét a létrehozása után de akár még a megjelenitése előtt is tudom változtatni. de az elhelyezkedését nem! sőt 0,0 koordinátákat ir ki, ha lekérdezem. ha megvárom mig az összes üzenet 'kifut', azaz kirajzolódik minden, akkor se! de mondjuk az ablak egyik gombjához kötve, már minden további nélkül reagál a rendszer az új poziciókra. Már egy napja ezen őszülök, de nem jövök rá mi lehet a baj. Esetleg vmit rosszul gondolok, és a windows gdi-ben rejlik vhol a megoldás? Más fejleszeztő eszköznél nincs hasonló probléma?
Tárold egy listában, pl. a lista első eleme a feje, az utolsó a farka. Amikor lép egyet, akkor beszúrsz egy elemet az elejére (a haladási iránynak megfelelő koordinátát), és az utolsót kitörlöd. Ha megevett egy kaját, akkor nem törölsz a végéről (hosszabb lesz a kígyó). És a játék közben elég csak oda rajzolni, ahol a lista változik (gyk feje, és a farka). És minden lépés előtt ellenőrizni kell, hogy a fejének az új koordinátája benne van-e már a listában (magába harapott-e).
A legrövidebb kígyós játék, amivel találkoztam, 256 bájt (sic!) volt!
Akkor csináld meg GDI-ra, DirectX-re, és OpenGL-re, meg még amit találsz!
Meg lehet csinálni bármire, amiben van putimage() vagy ahhoz hasonló (ha már a grafikus felületűeknél tartunk). Nem hiszem, hogy a technológiák sokban különböznének a négyszögrajzolás, képkirakás, vonalhúzás, és egyéb elemi műveletek tekintetében.