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
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