dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

parasta loga izmērs pret "popup" loga izmēru

 
dev.gamez.lv Forum Index -> Microsoft DirectX
View previous topic :: View next topic  
Author Message
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Fri Oct 26, 2007 11:03 pm    Post subject: parasta loga izmērs pret "popup" loga izmēru

es tā skatos, CreateWindowEx funkcijā nav svarīgi, kas būs 4. - WS_POPUP, WS_SYSMENU, WS_THICKFRAME - loga izmēri būs vienādi, bet loga iekšpuses izmēri diemžēl nesakritīs ar backbuffera izmēriem.. ko lai dara, lai novērstu to slikto efektu?

http://yy.lv/download.php?f=76788

tas ir paraugs 2 logiem
mainīju tikai no WS_POPUP uz WS_SYSMENU, bildes neapstrādāju!
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Fri Oct 26, 2007 11:11 pm    Post subject:

es tā skatos, ka esi nepareizajā sadaļā iepostējis. CreateWindowEx funkcijai nav sakara ar DirectX :)

Bet jā tev vien ir taisnība. Loga izmēri netiek norādīti ar client-size izmēru, bet gan absolūtajiem - ietverot visu borderu/captionu/menu un vēl sazin ko.
Tāpēc ir pieejama tāda funkcija kā AdjustWindowRectEx, kurai padodot vēlamos klienta laukuma izmērus (loga "iekšieni") un loga atbilstošo stilu (to pašu, ko gribi padot CreateWindowEx funkcijai), tā izrēķinās absolūtos loga izmērus, kurus tad vajadzēs padot tai CreateWindowEx funkcijai.


Last edited by bubu on Fri Oct 26, 2007 11:15 pm; edited 1 time in total
Back to top
View user's profile Send e-mail
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Fri Oct 26, 2007 11:15 pm    Post subject:

backbufferim gan ir sakars ar DX Wink es strādāju tikai ar DX, citādāk jau jautājums nebūtu te..

bet, paldies, ka pateici, pielikšu funkciju pie sava koda..
btw, veidoju reālu 2d spēli, pagaidām kods ir ļoti kārtīgs Very Happy un pamati ielikti Cool
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Fri Oct 26, 2007 11:18 pm    Post subject:

Nevajag būt smieklīgam. backbufferim nav sakara ar tavu problēmu (loga izmēru izskaitļošanu). Tikpat labi varēji teikt, ka tava problēma ir spēles taisīšana, jo kautkas tai nesanāk, un likt savu topiku "Tavi projekti" sadaļā.

P.S. es tavā vietā būtu pabeidzis kārtīgāk to Payback Hour, un tikai tad sācis taisīt kautko jaunu..
Back to top
View user's profile Send e-mail
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Fri Oct 26, 2007 11:26 pm    Post subject:

bubu wrote:
Tikpat labi varēji teikt, ka tava problēma ir spēles taisīšana, jo kautkas tai nesanāk, un likt savu topiku "Tavi projekti" sadaļā.

haha, tā gan Very Happy

bubu wrote:
P.S. es tavā vietā būtu pabeidzis kārtīgāk to Payback Hour, un tikai tad sācis taisīt kautko jaunu..

es gaidu komentārus.. Confused nemaz citādāk nezinu, ko varētu uzlabot! gamemakerim pašam nenormāli daudz noleak'ojas atmiņa, nejau no direct3d, vai kā tāda.. vnk no pāriešanas no viena room'a uz otru - tur viss vnk kautkur paliek!

hmm, kautkas nesanāk, es dwStyle iedodu to pašu, ko lieku CreateWindowEx, bet loga izmērs tāpat paliek tieši tāds pats...
Code:
RECT rct = {WndRect.x,WndRect.y,WndRect.width,WndRect.height};
   AdjustWindowRectEx(&rct,WS_SYSMENU,false,0);
   hWnd = CreateWindowEx(NULL,
                          "WindowClass",
                          WndName,
                          WS_SYSMENU,
                          rct.left,
                          rct.top,
                          rct.right,
                          rct.bottom,
                          NULL,
                          NULL,
                          hInstance,
                          NULL);

P.S. es gan īsti nesaprotu, ko padot dwExStyle'am, bet tas nešķiet svarīgi, jo tāpat nekas nemainās...
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Fri Oct 26, 2007 11:46 pm    Post subject:

Izlasi, kas ir jāpadod AdjustWindowRectEx funkcijai pirmajā argumentā (tu padod nepareizu RECT). Un izlasi arī, ko nozīmē 5., 6., 7. un 8. arguments CreateWindowEx funkcijai. Tie tev ir arī nepareizi.
Kā arī izlasi, ko nozīmē WS_SYSMENU stils. Viņu vienu pašu lietot nav pareizi.

snake5 wrote:
P.S. es gan īsti nesaprotu, ko padot dwExStyle'am

Tas ir aprakstīts Pie CreateWindowEx funkcijas argumentu aprakstu. Visas iespējamās vērtības tur ir uzskaitītas, kā arī pateikts, ko tās dara.
Back to top
View user's profile Send e-mail
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Fri Oct 26, 2007 11:59 pm    Post subject:

jeee! Very Happy

Code:
RECT rct = {WndRect.x,WndRect.y,WndRect.x+WndRect.width,WndRect.y+WndRect.height};
   AdjustWindowRectEx(&rct,WS_CAPTION,false,0);
   hWnd = CreateWindowEx(0,
                          "WindowClass",
                          WndName,
                          WS_CAPTION,
                          rct.left,
                          rct.top,
                          rct.right-rct.left,
                          rct.bottom-rct.top,
                          NULL,
                          NULL,
                          hInstance,
                          NULL);

_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
anggelus



Joined: 23 Feb 2005
Posts: 383
Location: Rīga (LV)

PostPosted: Sat Oct 27, 2007 12:03 pm    Post subject:

Quote:
gamemakerim pašam nenormāli daudz noleak'ojas atmiņa, nejau no direct3d, vai kā tāda.. vnk no pāriešanas no viena room'a uz otru - tur viss vnk kautkur paliek!


Nevis kaut kur paliek, bet gan tu neatbrivo atminju. Tas jau man liekas 100x tev ir teikts.
_________________
No comprendo lo que dice.
Back to top
View user's profile Send e-mail
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Sat Oct 27, 2007 12:35 pm    Post subject:

es gamemakerī nevaru atbrīvot atmiņu! tur nav tādu funkciju!

btw, man noderētu uzzināt, kā tie universālie atmiņas optimizētāji iztīra nelietoto atmiņu no katra procesa?
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
Display posts from previous:   
dev.gamez.lv Forum Index -> Microsoft DirectX All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group