07.06.2015 Views

Untitled - Vitajte na stránkach www.einsty.hostujem.sk

Untitled - Vitajte na stránkach www.einsty.hostujem.sk

Untitled - Vitajte na stránkach www.einsty.hostujem.sk

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

P R O G R A M U J E M E<br />

Syntax: PUSHBUTTON text, id, x, y, width, height, [style]<br />

style – definuje štýl pre ovládací prvok, ktorý môže by<br />

kombináciou štýlu: BS_PUSHBUTTON s <strong>na</strong>sledujúcimi štýlmi<br />

WS_DISABLE, WS_TABSTOP a WS_GROUP. Štandardne<br />

sa používa BS_PUSHBUTTON a WS_TABSTOP.<br />

Príklad: PUSHBUTTON „Ok“, IDC_OK, 40, 10,<br />

40, 14<br />

RADIOBUTTON<br />

Definuje v dialógovom okne ovládací prvok typu prepí<strong>na</strong>è.<br />

Prepí<strong>na</strong>èe sa zvyèajne používajú v <strong>sk</strong>upinách <strong>na</strong><br />

výber jednej hodnoty z nieko¾kých možností. Prepí<strong>na</strong>èe<br />

patria do triedy ok<strong>na</strong> BUTTON.<br />

Syntax: RADIOBUTTON text, id, x, y, width, height, [style]<br />

style – definuje štýl pre ovládací prvok, ktorý môže by<br />

kombináciou štýlu: BS_RADIOBUTTON s <strong>na</strong>sledujúcimi<br />

štýlmi: WS_DISABLE, WS_TABSTOP a WS_GROUP. Štandardne<br />

sa používa BS_RADIOBUTTON a WS_TABSTOP.<br />

Príklad: RADIOBUTTON „On“, IDC_RADIO1, 10, 10, 40, 14<br />

RTEXT<br />

Definuje ovládací prvok so statickým textom zarov<strong>na</strong>ným<br />

vpravo. Text je zarov<strong>na</strong>ný k pravému okraju v medziach<br />

pravouholníka, ktorý je špecifikovaný pomocou x, y,<br />

width, height. Ovládacím prvkom typu statický text je normálne<br />

priradená ID hodnota –1, pretože nie sú nikdy<br />

vybrané. Výnimkou je, keï funkcia dialógového ok<strong>na</strong><br />

zmení textový obsah poèas práce dialógového ok<strong>na</strong>.<br />

Syntax: RTEXT text, id, x, y, width, height, [style]<br />

style – definuje štýl pre ovládací prvok, ktorý môže by kombináciou<br />

štýlov: SS_RIGHT, WS_TABSTOP a WS_GROUP. Štandardne<br />

sa používa SS_RIGHT a WS_GROUP.<br />

Príklad: RTEXT „Right Justified Text“, -1, 10,<br />

10, 150, 8<br />

SCROLLBAR<br />

Definuje v dialógovom okne ovládací prvok typu rolovací<br />

pruh. Ovládacie prvky typu scrollbar sa používajú <strong>na</strong> zadanie<br />

od používate¾a pre položky premennej ve¾kosti, <strong>na</strong>pr.<br />

èísla. Scrollbar je tiež možné použi <strong>na</strong> posúvanie klient<strong>sk</strong>ej<br />

èasti ok<strong>na</strong>. Najbežnejšími štýlmi sú SBS_VERT pre vertikálne<br />

rolovacie pruhy a SBS_HORZ pre horizontálne.<br />

Syntax: SCROLLBAR id, x, y, width, height, [style]<br />

style – definuje štýl pre ovládací prvok, ktorý môže by<br />

kombináciou základných štýlov so štýlmi WS_DISAB-<br />

LE, WS_TABSTOP a WS_GROUP. Štandardne sa používa<br />

SBS_HORZ.<br />

Príklad: SCROLLBAR ID_SCROLL, 50, 10, 8, 50,<br />

SBS_VERT<br />

Ïalšie štýly, ktoré možno použi ako parameter style,<br />

nájdete v tabu¾ke 3 <strong>na</strong> stránke <strong>www</strong>.pcrevue.<strong>sk</strong> v sekcii<br />

Assembler – èas 11 a môžete použi aj niektoré štýly,<br />

ktoré boli uverejnené v PC REVUE è. 10 a 11/2001.<br />

V predchádzajúcom èísle som vám <strong>na</strong>vrhol použi <strong>na</strong><br />

u¾ahèenie vytvárania resource súborov NAGOA Visual<br />

Assembler. Ïalším nástrojom, ktorý môžete využi , je<br />

Visual C++, ale takto vygenerovaný rc súbor musíte<br />

upravi . Praktický príklad k tejto èasti nájdete opä <strong>na</strong><br />

<strong>www</strong>.pcrevue.<strong>sk</strong> v sekcii Programujeme Ž Assembler.<br />

Literatúra<br />

[1] Simon, R. J. – Gouker, M. – Barnes, B. C.: Win32<br />

API. Zväzok 1, 2, 3. UNIS publishing, Brno 1997.<br />

[2] Richter, J.: Windows pro pokroèilé a experty.<br />

Computer Press, Praha 1997.<br />

[3] Petzold, Ch.: Programovaní ve Windows – Win32<br />

API. Computer Press, Praha 1999.<br />

Peter Gašparoviè<br />

C++ pod Windows / 17. èas : FAQ<br />

Ani sme sa ne<strong>na</strong>zdali a rok 2001 sa konèí. Pre niekoho<br />

bol úspešný, pre niekoho menej. Pre niekoho bol radostný,<br />

pre niekoho tragický. Som presvedèený, že rok 2001<br />

sa <strong>na</strong>pevno vpíše do dejín ¾udstva ako nie príliš „úspešný“<br />

– a nebude to uvedením Windows XP...<br />

Ale poïme <strong>na</strong> inú tému. Keï som už spomenul<br />

Windows XP, ich uvedenie bude ma <strong>na</strong> nás vývojárov<br />

nemalý dosah. Okrem oèakávaného súboja NET a Java,<br />

ktorého ví aza asi tak <strong>sk</strong>oro nespoznáme, prináša tento<br />

operaèný systém ve¾a nových vecí, ktoré sa my, „úbohí“<br />

programátori musíme <strong>na</strong>uèi , ak chceme zosta „in“.<br />

Èo sa týka náplne tejto èasti seriálu, rozhodol som sa<br />

dopria vám oddych od výkladu zložitých vecí Visual<br />

C++ a MFC. Celá èas bude venovaná vašim otázkam,<br />

ktoré ste mi poslali a ktoré majú všeobecnejší charakter,<br />

takže poslúžia, predpokladám, väèšine z vás. V odpovediach<br />

si ukážeme aj nejaké praktické veci, ktoré som vo<br />

výklade nespomenul, ale ich urèite každý, kto tvorí praktické<br />

aplikácie, využije. V závere si povieme, èo nás ešte<br />

èaká a asi kedy budeme so seriálom konèi .<br />

Ešte k vašim otázkam. Niektorí ste mi posielali vaše<br />

kompletné aplikácie s otázkami typu, ako urobi to èi ono,<br />

èo treba zmeni , aby to nepadalo, a podobne. Žia¾, nie je<br />

v mojej moci <strong>na</strong> všetky takto stavané otázky odpoveda .<br />

Èíta a pochopi niekoho kód, akoko¾vek dobre okomentovaný,<br />

je vždy èasovo ve¾mi nároèné. A ešte k tomu da<br />

odpoveï <strong>na</strong> otázky, ktoré nevie zodpoveda ani sám autor<br />

tohto programu, nie je možné. Preto sa ospravedlòujem<br />

tým, ktorí sa takejto odpovede nedoèkali.<br />

Q: Dá sa zadarmo zoh<strong>na</strong> /stiahnu Visual C++?<br />

A: Èo sa týka stiahnutia, nemám informácie, že by<br />

Microsoft uvo¾nil Visual C++ takouto cestou (teda ak<br />

nie ste èlenmi niektorého z programov MSDN Subscriptions).<br />

Visual C++ sa však dá zoh<strong>na</strong> s niektorými<br />

knihami, ktoré vysvet¾ujú programovanie s týmto vývojovým<br />

nástrojom. Napríklad Visual C++ Introductory<br />

Edition (èo je vlastne Visual C++ Standard Edition, len<br />

má nejaké obmedzenia, ktoré sa týkajú tvorby komerèných<br />

aplikácií) sa dá zoh<strong>na</strong> s knihami Programujeme v<br />

Microsoft Visual C++ od tímu autorov (Kruglin<strong>sk</strong>i,<br />

Shepherd, Wingo) alebo Programujeme v COM a COM+<br />

od Dalibora Kaèmáøa. Všetky vyšli vo vydavate¾stve<br />

Computer Press. Sú však aj ïalšie knihy (bližšie informácie<br />

<strong>na</strong> http://<strong>www</strong>.cpress.cz/knihy). Ak máte o ne záujem,<br />

pozrite sa v <strong>na</strong>jbližšom kníhkupectve alebo virtuálnom<br />

obchode z knihami. (Poèítajte však s tým, že ich ce<strong>na</strong> sa<br />

pohybuje od 600 Sk vyššie.)<br />

Q: Existujú <strong>na</strong> internete vo¾ne dostupné uèebnice<br />

o jazyku C/C++?<br />

A: Áno, samozrejme. Za <strong>na</strong>jlepšiu takto dostupnú uèebnicu<br />

považujem publikáciu od Bruca Eckela Thinking in C++<br />

2nd. Edition; Volume 1 a Volume 2, kde nájdete <strong>sk</strong>utoène<br />

vyèerpávajúci výklad všetkých èàt C++ vrátane tých <strong>na</strong>jmodernejších.<br />

Na konci každej kapitoly sú cvièenia, ktoré<br />

sa týkajú preberanej látky v konkrétnej kapitole a sú jasne<br />

formulované, jednoduché. Ich úspešné vyriešenie má urèite<br />

motivujúci charakter. Všetky zdrojové kódy z knihy sa<br />

dajú zadarmo stiahnu z webu (okrem riešení cvièení, tie<br />

sú dostupné za poplatok). Jedinou nevýhodou pre <strong>na</strong>šinca<br />

môže by , že stiahnutá kniha je v anglickom jazyku, ale v<br />

terajšej dobe to nepovažujem za ve¾ký problém. Tento<br />

autor uspokojí aj záujemcov o Javu – dostupná je kniha<br />

Thinking in Java 2nd. edition – takisto ve¾mi kvalitná kniha.<br />

A koneène web, z ktorého sa dajú knihy stiahnu a kde zí<strong>sk</strong>ate<br />

ïalšie informácie: <strong>www</strong>.bruceeckel.com.<br />

Q: Aké knihy sú <strong>na</strong>jvhodnejšie <strong>na</strong> uèenie sa<br />

programovania s Visual C++?<br />

A: Samozrejme, nemôžem hodnoti , ktorá kniha je tá<br />

<strong>na</strong>j..., ale za ve¾mi kvalitné považujem Mistrovství ve<br />

Visual C++ od tragicky zosnulého Davida J. Kruglin<strong>sk</strong>ého,<br />

jej pokraèovanie: Programujeme v Microsoft Visual<br />

C++ (pozri vyššie), ktoré sú <strong>sk</strong>utoèné uèebnicami, a<br />

nie referenènými príruèkami.<br />

Q: Na inštalaèných médiách Visual Studia 6.0 sa<br />

ne<strong>na</strong>chádza help. Odkia¾ ho mám doinštalova ?<br />

A: Inštalaèky samotného Visual Studia 6.0 <strong>sk</strong>utoène neobsahujú<br />

help k jednotlivým produktom (Visual Basic<br />

6.0, Visual C++ 6.0, Visual FoxPro 6.0 a ïalšie). Help sa<br />

<strong>na</strong>chádza <strong>na</strong> samostatných médiách, ktoré sa oz<strong>na</strong>èujú<br />

ako Microsoft Developer Network for Visual Studio 6.0<br />

(známe MSDN) a mali by sa dodáva spolu s Visual<br />

Studiom (je možné ich zoh<strong>na</strong> aj samostatne). Sú to dve,<br />

prípadne viac CD (záleží <strong>na</strong> verzii). Najnovšie MSDN nájdete<br />

vždy <strong>na</strong> stránke <strong>www</strong>.msdn.microsoft.com, èo je<br />

on line verzia cédeèkových MSDN.<br />

Q: Existuje <strong>na</strong> Visual C++ nejaký Service Pack<br />

a nechystajú sa jeho nové verzie?<br />

A: Na stránke http://msdn.microsoft.com/vstudio/down<br />

loads/updates.asp sa dá stiahnu , prípadne objed<strong>na</strong> <strong>na</strong><br />

CD <strong>na</strong>jaktuálnejší Service Pack 5 (26.2.2001). Update sa<br />

týka všetkých aplikácií Visual Studia 6.0, ktorého je<br />

Visual C++ 6.0 súèas ou. Nová verzia Visual C++ bude<br />

zahrnutá v novom Visual Studiu NET (Visual Studio 7.0),<br />

ktoré sa momentálne (25. 10. 2001) <strong>na</strong>chádza vo verzii<br />

Release Candidate. V terajšej dobe sa dá zadarmo objed<strong>na</strong><br />

Beta 2 Visual Studia NET(<strong>na</strong> CD alebo DVD), a keï<br />

èítate tieto riadky, pravdepodobne už aj spomí<strong>na</strong>ný Release<br />

Candidate: (http://<strong>www</strong>.microsoft.cz/akce/vsbeta2/).<br />

A pozrite sa aj <strong>na</strong> stránku: http://<strong>www</strong>.msdn.microsoft.com/<br />

vstudio/nextgen/beta.asp.<br />

To boli všeobecné otázky, ktoré sa priamo netýkali<br />

programovania vo Visual C++. Nasledujú otázky priamo<br />

súvisiace s vývojom aplikácií.<br />

Q: Ako sa dajú èíta /zapisova údaje z/do INI súborov?<br />

A: Aj keï Microsoft tvrdí, že v 32-bitových Windows by<br />

sa mali všetky informácie z INI súborov <strong>na</strong>chádza v<br />

registroch, v praxi sa toto pravidlo nie vždy dodržiava a<br />

ukazuje sa, že INI súbory sa budú používa ešte dos<br />

dlho. Èasto <strong>na</strong>príklad potrebujeme takto èíta údaje,<br />

ktoré ovplyvòujú správanie celého programu, a hraba<br />

sa u zákazníka v registroch Windows nie je ve¾mi praktické<br />

(je „používate¾<strong>sk</strong>y“ jednoduchšie zmeni údaje<br />

v INI súbore ako ich meni v registroch).<br />

Na èítanie èíselných dát z INI súboru slúži funkcia:<br />

GetPrivateProfileInt( LPCTSTR menoSekcie,<br />

LPCTSTR menoKluca, INT nVratDefault, LPCTSTR<br />

menoINISuboru);<br />

Na èítanie re azcov slúži funkcia:<br />

GetPrivateProfileString( LPCTSTR menoSekcie,<br />

LPCTSTR menoKluca, LPCTSTR strDefault, LPT-<br />

STR vratString, DWORD velkostRet, LPCTSTR<br />

menoINISuboru);<br />

Presný opis parametrov nájdete v helpe, rov<strong>na</strong>ko aj<br />

štruktúru INI súboru.<br />

Ak máme INI súbor s názvom mojini.ini s obsahom:<br />

[NASTAVENIA]<br />

SpustP=1<br />

CestaEXE=C:\MojProjekt\EXE\mojprojekt.exe<br />

potom èítanie hodnoty SpustP by zabezpeèovala funkcia:<br />

int PrecitajIntINI(LPCTSTR section, LPCTSTR<br />

<strong>na</strong>me, LPCTSTR file)<br />

{<br />

return GetPrivateProfileInt(section,<br />

<strong>na</strong>me, 0, file);<br />

}<br />

Volali by sme ju <strong>na</strong>pr. takto:<br />

SpustP=PrecitajIntINI(„NASTAVENIA „, „SpustP<br />

„, „mojini.ini „);<br />

Èítanie hodnoty CestaEXE, èo je re azec,<br />

bude zabezpeèova funkcia:<br />

LPTSTR PrecitajStringINI(LPCTSTR section,<br />

LPCTSTR <strong>na</strong>me, LPCTSTR file)<br />

12/2001 PC REVUE 145

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!