Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem nastavenie okna v MFC

zdravim.
pisal som tu pred casom (win32 api) a dal som sa z odpovedi poucit, win api naozaj nie je vhodnejsie ako mfc. no clovek sa stale uci :-[ . kedze sa to ucim sam, mam milion otazok a ziadne odpovede. mohol by mi niekto, kto to ovlada poradit, ako sa to ucit aspon trochu efektivne? ucim sa to z knihy, ale je to pre mna jedna rovnica o dvoch neznamych. z dokumentacie ms po anglicky to je uz o troch neznamych. kurzy ktore som zatial nasiel maju sice v nazve visual c++, ale v harmonograme su 4/5 preberanej latky zaklady c++ ktore ovladam.

napriklad neviem nastavit pociatocnu velkost okna (napr. pri sdi), funkcia oncreate ktora hlavne ramcove okno vytvara ma jeden parameter lpCreateStruct. pritom v dokumentacii je pisane o niekolkych parametroch, medzi nimi aj rectdefault, ktory zabezpecuje pociatocnu velkost a poziciu. lpCreateStruct samozrejme ze mnou hladany parameter isto obsahuje, ale neviem najst ani jedno ani druhe.

za vsetky odpovede budem rad

Předmět Autor Datum
parametre ramcoveho okna mozes zmenit pomocou virtualnej funkcie PreCreateWindow modifikovanim param…
mkmt 13.02.2009 07:51
mkmt
kniha: programujeme v microsoft visual c++ som na 180 strane a zatial som to tam nevidel. zda sa mi…
milovnik.piva 13.02.2009 10:06
milovnik.piva
zda sa mi to byt dost podstatne, cakal som to niekde v prvych kapitolach vsak v prvych kapitolach s…
mkmt 13.02.2009 11:18
mkmt
budem ti verit (musim inu moznost nemam :)) ). mozem sa ta opytat ci ovladas mfc? je to najlepsi spo…
milovnik.piva 13.02.2009 12:22
milovnik.piva
ze plne ovladam si nedovolim tvrdit, orientujem sa je to najlepsi sposob programovania pre win? na…
mkmt 13.02.2009 12:43
mkmt
kazda aplikacia ma iny "najlepsi sposob programovania". A pojem "najlepsie" je relativny (zdravim Ei…
MM.. 13.02.2009 15:25
MM..
VSETKO mas v MSDN, k vacsine veci aj priklady, pokial mas kompletnu MSDN nainstalovanu lokalne, tak…
MM.. 13.02.2009 15:12
MM..
... este ked mam porovnat knihu a MSDN (obrazky zanedbam): - kniha ma napr. 500 stran po 100 riadkoc…
MM.. 13.02.2009 15:35
MM..
... inac len tak mimochodom velkost okna sa da zadat uz pri jeho vytvarani (CWnd:Create ma aj aj par…
MM.. 13.02.2009 15:17
MM..
no aspon som sa dostal dalej. to okno inicializovat bola fakt hracaka. teraz k tomu studiu. som siln… poslední
milovnik.piva 13.02.2009 18:08
milovnik.piva

parametre ramcoveho okna mozes zmenit pomocou virtualnej funkcie PreCreateWindow
modifikovanim parametrov struktury CREATESTRUCT

To change the default window attributes used by a framework application created with AppWizard, override the window’sPreCreateWindow virtual member function. PreCreateWindow allows an application to access the creation process normally managed internally by theCDocTemplate class. The framework calls PreCreateWindow just prior to creating the window. By modifying theCREATESTRUCT parameter to PreCreateWindow, your application can change the attributes used to create the window.

z akej knihy sa ucis?, v kazdej normalnej knihe by taketo veci mali byt popisane

kniha: programujeme v microsoft visual c++
som na 180 strane a zatial som to tam nevidel. zda sa mi to byt dost podstatne, cakal som to niekde v prvych kapitolach. nemal by som kritizovat autorov tej knihy, urcite odviedli kus prace. neodpustim si povedat, to nie je ucebnica, ale nieco ako zbierka versov. caste odvolavanie sa na win 95 je tiez v tejto dobre trochu pritiahnute za vlasy.

zda sa mi to byt dost podstatne, cakal som to niekde v prvych kapitolach

vsak v prvych kapitolach sa myslim ramcove okno nikde nepouziva, vsade su pouzite jednoduche dialogy, tak preco by to tam vysvetlovali?

caste odvolavanie sa na win 95 je tiez v tejto dobre trochu pritiahnute za vlasy

ta kniha vysla v roku 98(ak myslime tu istu), tak na co cakas, ze sa budu odvolavat, okrem toho z pohladu programovania to nie je podstatne

budem ti verit (musim inu moznost nemam :)) ). mozem sa ta opytat ci ovladas mfc? je to najlepsi sposob programovania pre win? (niekde som cital ze je podobna kniznica aj pre linux, wxWidgest weapper nad GTK). akym sposobom si sa to naucil?

sorry za tieto novinarske otazky, neviem kde by som inde o tomto zohnal info.

kazda aplikacia ma iny "najlepsi sposob programovania".
A pojem "najlepsie" je relativny (zdravim Einsteina), ono je ine "najlepsi" ked chce clovek minimalizovat vyvojove naklady a urobit sracku ktora na to aby fungovala potrebuje 300MB framework, a ine "najlepsi" je ked chce clovek urobit slusny maly SW a nehladi na vyvojove naklady.

VSETKO mas v MSDN, k vacsine veci aj priklady, pokial mas kompletnu MSDN nainstalovanu lokalne, tak tam mas perfektny help po klavese F1 aj s linkami.

Ked nieco aj tak nie je jasne, tak vacsinu MFC frameworku mas aj ako zdrojaky, v C:\Programy\Microsoft Visual Studio 8\VC\atlmfc\src\ tam si to mozes prehladat co hladas, ze ako je implementovane napriklad standarne CWnd:Create v MFC apod.

Ked nemas kompletne MSDN nainstalovane, tak msdn.microsoft.com a do hladania si das OnCreate
Najdes http://msdn.microsoft.com/en-us/library/384x0633.a spx
a vidis ze lpcreateStruct je pointer na CREATESTRUCT. Kliknes si na CREATESTRUCT a vidis jak ta struktura vyzera.
A dalej si precitas sekciu Remarks (spravidla najdolezitejsia sekcia v popisoch MSDN :) kde vidis ze
The CWnd object receives this call after the window is created but before it becomes visible.
The CREATESTRUCT structure contains copies of the parameters used to create the window.
Takze v tej strukture nema vyznam nieco menit, ptz okno uz bolo vytvorene.

Ked chces menit velkost tak si kliknes na CWnd members, cim sa dostanes sem
http://msdn.microsoft.com/en-us/library/b5wzwdk7.a spx
a najdes si metodu ktora ti vyhovuje viac, napr. vidis ze PreCreateWindow je to co chces
http://msdn.microsoft.com/en-us/library/4yc5skce.a spx
Override this member function to modify the CREATESTRUCT structure before the window is created.

kliknes si tam na EXAMPLE a mas tam aj priklad.

Achjo. V MSDN JE VSETKO. Knihy su hovadiny. Nauc sa pouzivat MSDN.

... este ked mam porovnat knihu a MSDN (obrazky zanedbam):
- kniha ma napr. 500 stran po 100 riadkoch po 100znakov na riadok = 5 000 000 znakov.
- MSDN ma tusim 3GB, vacsinou text (do 3GB sa vojde 1 500 000 000 unicode znakov). T.j. MSDN je obsahovo velka asi ako 300 knih. Jediny problem je ze je anglicky. Ale moj osobny nazor je ze pokusat sa programovat bez anglictiny je asi ako pokusat sa soferovat so zaviazanymi ocami.

no aspon som sa dostal dalej. to okno inicializovat bola fakt hracaka. teraz k tomu studiu. som silny zastanca knih, ta dokumentacia na strankach microsoftu je fakt skvela, ale podstata toho je vystihnuta uz v nazve. nie je to robene formou vyuky, nejde sa od zaciatkov. aj ja mam dobry priklad. ako keby si sa chcel ucit od zaciatkov strojnictvo a ja ti dam strojnicke tabulky, poviem ti tu mas v podstate cele strojnictvo v jednej knihe. ja ked tomu rozumiem, ano pre mna su tie tabulky velmi uzitocne, ale ak ty nevies o strojnictve nic, su ti k nicomu. ;-)

Zpět do poradny Odpovědět na původní otázku Nahoru