mobilná komunikácia - Vitajte na stránkach www.einsty.hostujem.sk

mobilná komunikácia - Vitajte na stránkach www.einsty.hostujem.sk mobilná komunikácia - Vitajte na stránkach www.einsty.hostujem.sk

einsty.hostujem.sk
from einsty.hostujem.sk More from this publisher
12.07.2015 Views

P R O G R A M U J E M EESB_DISABLE_BOTH – zakazuje èinnos obidvoch šípok scrollbaru.ESB_DISABLE_DOWN – zakazuje èinnos spodnej šípky pri vertikálnom scrollbare.ESB_DISABLE_LEFT – zakazuje èinnos ¾avej šípky pri horizontálnom scrollbare.ESB_DISABLE_LTUP – zakazuje èinnos ¾avej šípky pri horizontálnom scrollbare alebohornej šípky pri vertikálnom scrollbare.ESB_DISABLE_RIGHT – zakazuje èinnos pravej šípky pri horizontálnom scrollbare.ESB_DISABLE_RTDN – zakazuje èinnos pravej šípky pri horizontálnom scrollbare alebospodnej šípky pri vertikálnom scrollbare.ESB_DISABLE_UP – zakazuje èinnos hornej šípky pri vertikálnom scrollbare.ESB_ENABLE_BOTH – povo¾uje èinnos obidvoch šípok scrollbaru.Výsledok funkcie: BOOL: TRUE, pokia¾ je èinnos šípok scrollbaru povolená, resp. zaká−zaná pod¾a špecifikovaného parametra. FALSE, pokia¾ u šípky v danom stave boli, resp.v priebehu vykonávania funkcie nastala chyba.GetScrollInfoWindows NT Win 95 Win32s Lib IncludeÁno Áno Áno user32.lib user32.incFunkcia GetScrollInfo vráti parametre scrollbaru vrátane minimálnej a maximálnej pozície,ve¾kosti strany a súèasnej pozície.Syntax: BOOL GetScrollInfo, HWND hwnd, int fnBar, LPSCROLLINFO lpsiHWND hwnd: Handle na okno so štandardným scrollbarom, resp. riadiaci prvok typuSCROLLBAR, v závislosti od hodnoty parametra fnBar.int fnBar: Typ scrollbaru, o ktorom chceme získa informácie. Tento parameter môenadobúda jednu z nasledujúcich hodnôt:SB_CTL – vráti parametre riadiaceho prvku typu scrollbar. Parameter hwnd musí byhandle na poadovaný scrollbar.SB_HORZ – vráti parametre štandardného horizontálneho scrollbaru príslušného okna.SB_VERT – vráti parametre štandardného vertikálneho scrollbaru príslušného okna.LPSCROLLINFO lpsi: Ukazovate¾ na štruktúru SCROLLINFO, v ktorej sú uloené informá−cie o scrollbare. Pred volaním funkcie GetScrollInfo aplikácia musí nastavi polokyfMask a cbsize tejto štruktúry.Definícia štruktúry SCROLLINFO.SCROLLINFO STRUCTcbSize DWORD ?fMask DWORD ?nMin DWORD ?nMax DWORD ?nPage DWORD ?nPos DWORD ?nTrackPos DWORD ?SCROLLINFO ENDScbsize – ve¾kos štruktúry v bajtoch.fMask – parametre scrollbaru, ktoré chceme získa. Táto hodnota môe by kombiná−ciou nasledujúcich hodnôt:SIF_PAGE – vráti hodnotu nPage scrollbaru.SIF_POS – vráti hodnotu nPos scrollbaru.SIF_RANGE – vráti hodnoty nMin a nMax scrollbaru.nMin – minimálna pozícia scrollbaru.nMax – maximálna pozícia scrollbaru.nPage – ve¾kos strany. Scrollbar pouíva túto hodnotu na urèenie priblinej ve¾kostiukazovate¾a (thumb).nPos – pozícia umiestnenia ukazovate¾a (thumb).Výsledok funkcie: BOOL: Ak funkcia získala nejaké hodnoty, vráti TRUE, v opaènomprípade je vrátená hodnota FALSE.GetScrollPosWindows NT Win 95 Win32s Lib IncludeÁno Áno Áno user32.lib user32.incFunkcia vráti súèasnú pozíciu ukazovate¾a (thumb) na danom scrollbare. Súèasná pozíciaje relatívne èíslo závislé od nastaveného rozsahu hodnôt scrollbaru. Táto funkcia bolazaradená pre zabezpeèenie kompatibility s Windows NT 3.5 a predchádzajúcimi verzia−mi Windows. Pri programovaní aplikácií pre Windows 95 pouívajte funkciu GetScroll−Info.Syntax: int GetScrollPos, HWND hWnd, int nBarHWND hWnd: Handle na okno so štandardným scrollbarom alebo riadiaci prvok typuSCROLLBAR v závislosti od hodnoty parametra nBar.int nBar: Scrollbar, o ktorom chceme získa informácie. Tento parameter môe nadobú−da jednu z nasledujúcich hodnôt:SB_CTL – vráti pozíciu ukazovate¾a (thumb) riadiaceho prvku typu scrollbar. Parameterhwnd musí by handle na poadovaný scrollbar.SB_HORZ – vráti pozíciu ukazovate¾a (thumb) štandardného horizontálneho scrollbarupríslušného okna.SB_VERT – vráti pozíciu ukazovate¾a (thumb) štandardného vertikálneho scrollbarupríslušného okna.Výsledok funkcie: int: V prípade úspešného vykonania funkcie je návratová hodnotapozícia ukazovate¾a scrollbaru, v ostatných prípadoch sa vráti nula.GetScrollRangeWindows NT Win 95 Win32s Lib IncludeÁno Áno Áno user32.lib user32.incFunkcia GetScrollRange vráti súèasné nastavenie minimálnej a maximálnej pozície danéhoscrollbaru. Táto funkcia bola zaradená pre zabezpeèenie kompatibility s Windows NT 3.5a predchádzajúcimi verziami Windows. Pri programovaní aplikácií pre Windows 95 po−uívajte funkciu GetScrollInfo.Syntax: BOOL GetScrollRange, HWND hWnd, int nBar, LPINT lpMinPos, LPINT lpMaxPosHWND hWnd: Handle na okno so štandardným scrollbarom alebo riadiaci prvok typuSCROLLBAR v závislosti od hodnoty parametra nBar.int nBar: Scrollbar, o ktorom chceme získa informácie. Tento parameter môe nadobú−da jednu z hodnôt uvedených pri funkcii GetScrollPos.LPINT lpMinPos: Ukazovate¾ na premennú typu integer, do ktorej sa uloí minimálnapozícia.LPINT lpMaxPos: Ukazovate¾ na premennú typu integer, do ktorej sa uloí maximálnapozícia.Výsledok funkcie: BOOL: Ak sa funkcia skonèila úspešne, je návratová hodnota TRUE,v opaènom prípade je vrátená hodnota FALSE.ScrollDCWindows NT Win 95 Win32s Lib IncludeÁno Áno Áno user32.lib user32.incFunkcia posúva obdånik na danom kontexte zariadenia DC horizontálne alebo vertikálne.Túto funkciu pouívajte na posuv klientskej oblasti okna alebo na posuv celej bitovejmapy, resp. jej èasti, v pamäovom kontexte zariadenia.Syntax: BOOL ScrollDC, HDC hDC, int dx, int dy, CONST RECT *lprcScroll, CONST RECT*lprcClip, HRGN hrgnUpdate, LPRECT lprcUpdateHDC hDC: Kontext zariadenia DC, ktorý sa má posunú.int dx: Poèet grafických jednotiek, bodov, o ktorý sa má vykona horizontálny posuv.Pri posuve do¾ava sa udáva táto hodnota záporne.int dy: Poèet grafických jednotiek, bodov, o ktorý sa má vykona vertikálny posuv.Pri posuve hore sa udáva táto hodnota záporne.CONST RECT *lprcScroll: Ukazovate¾ na štruktúru RECT, ktorá obsahuje posúvanýobdånik.CONST RECT *lprcClip: Ukazovate¾ na štruktúru RECT, ktorá obsahuje súradnice vystrih−nutého pravouholníka. Posunutá je potom len oblas v takto vybranom obdåniku.HRGN hrgnUpdate: Oblas, ktorá nie je zahrnutá do procesu posuvu. Funkcia ScrollDCdefinuje túto oblas; nemusí to by iba pravouholník. Tento parameter môe by NULL.LPRECT lprcUpdate: Ukazovate¾ na štruktúru RECT, ktorá dostane súradnice pravouhol−níka, ktorý ohranièuje posunutím zasiahnutú oblas. Táto oblas je najväèší pravouhol−ník v klientskych súradniciach, ktorý musí by prekreslený. Tento parameter môe byNULL.Výsledok funkcie: BOOL: Ak sa funkcia skonèila úspešne, je vrátená návratová hodnotaTRUE, v opaènom prípade je vrátená hodnota FALSE.ScrollWindowExWindows NT Win 95 Win32s Lib IncludeÁno Áno Áno user32.lib user32.incFunkcia ScrollWindowEx posúva obsah danej klientskej oblasti okna. Táto funkcia jepodobná funkcii ScrollDC, s tým rozdielom, e ScrollWindowEx pracuje s handle na oknoa ScrollDC pouíva kontext zariadenia DC.Syntax: int ScrollWindowEx, HWND hWnd, int dx, int dy, CONST RECT *prcScroll,CONST RECT *prcClip, HRGN hrgnUpdate, LPRECT prcUpdate, UINT flagsHWND hWnd: Handle na okno, ktorého klientska oblas sa má posunú.int dx: Poèet grafických jednotiek, bodov, o ktorý sa má vykona horizontálny posuv.Pri posuve do¾ava sa udáva táto hodnota záporne.int dy: Poèet grafických jednotiek, bodov, o ktorý sa má vykona vertikálny posuv.Pri posuve hore sa udáva táto hodnota záporne.7/2002 PC REVUE 129

P R O G R A M U J E M ECONST RECT *prcScroll: Ukazovate¾ na štruktúru RECT,ktorá špecifikuje èas klientskej oblasti, ktorá sa budepresúva. Ak je tento parameter NULL, potom je posunu−tá celá klientska oblas.CONST RECT *prcClip: Ukazovate¾ na štruktúru RECT,ktorá obsahuje súradnice vystrihnutého pravouholníka.Iba oblas v takto vybranom pravouholníku je potomposunutá.HRGN hrgnUpdate: Oblas, ktorá nie je zahrnutá doprocesu posuvu. Nemusí to by iba pravouholník. Tentoparameter môe by NULL.LPRECT prcUpdate: Ukazovate¾ na štruktúru RECT, ktorádostane súradnice pravouholníka, ktorý ohranièuje posu−nutím zasiahnutú oblas. Táto oblas je najväèší pravo−uholník v klientskych súradniciach, ktorý musí by pre−kreslený. Tento parameter môe by NULL.UINT flags: Príznak, ktorý riadi posuv. Tento parametermôe by jedna alebo viacej nasledujúcich hodnôt, kom−binovaných pomocou operátora OR.SW_ERASE – pokia¾ tento príznak skombinujeme s prí−znakom SW_INVADATE, potom vymae oblas novooznaèenú za neplatnú.Obr. 3Príklad ScrollbarSW_INVALIDATE – oznaèí za neplatnú oblas, ktorá saodhalí po presune.SW_SCROLLCHILDREN – posúva všetky dcérske okná,ktoré zasahujú do obdånika špecifikovaného paramet−rom prcScroll. Dcérske okná sú posunuté o poèet bodovurèených parametrami dx a dy. Windows posiela správuWM_MOVE všetkým dcérskym oknám, ktoré zasahujú dooblasti špecifikovanej parametrom prcScroll, a to ajvtedy, keï sa neposúvajú.Výsledok funkcie: int: Vráti SIMPLEREGION (pravouhol−níková neplatná oblas), COMPLEXREGION (neplatnáoblas iného ne pravouhlého tvaru; prekrývajúce sa pra−vouholníky), alebo NULLREGION (iadna oblas nie jeneplatná). V ostatných prípadoch je návratová hodnotaERROR.Prvú èas o scrollbaroch zakonèíme jednoduchým prí−kladom (pozri obrázok 3). Samozrejme, zdrojový kód náj−dete na stránke www.pcrevue.sk v sekcii Programujeme –Assembler pod Windows.Literatúra[1] Simon, R. J. – Gouker, M. – Barnes, B. C.: Win32API. Zväzok 1, 2, 3. UNIS Publishing, Brno 1997.[2] Richter, J.: Windows pro pokroèilé a experty.Computer Press, Praha 1997.[3] Petzold, Ch.: Programování ve Windows – Win32API. Computer Press, Praha 1999.Peter GašparovièN O V Ý S E R I Á Lif (height==0) height=1;Grafika cez OpenGL / 1. èas: Inicializácia I.Ïalej nastavíme viewport (poh¾ad), projekciu, urobímereset a naèítame jednotkovú maticu.glViewport(0,0,width,height);glMatrixMode(GL_PROJECTION); //projekciaglLoadIdentity(); //reset poh¾aduVitajte všetci priaznivci poèítaèovej grafiky pri novom prog−ramátorskom seriáli. V nasledujúcich èastiach sa v òombudeme zaobera programovaním grafiky cez rozhranieOpenGL. Pýtate sa, èo je OpenGL? Ak ste toto zázraèné slo−víèko v ivote nepoèuli, nasledujúce riadky sú urèené vám.OpenGL je grafický subsystém na programovanie gra−fiky bez rozdielu okenného systému. To znamená, eOpenGL funguje aj pod Linuxom, OS/2, MacOS atï. Polo−patisticky povedané, je to DirectX, ktorý funguje všade.V niektorých smeroch je ešte jednoduchší, no výkonnejší(keï som toti zaèal èíta jeden tutoriál DirectX, skonèilsom po pár riadkoch pre zloitos).Naším prvým cie¾om bude „nakopnú“ OpenGL pod OSWindows 9x. Vývojovým jazykom bude C++, konkrétne sabudeme dra vývojového prostredia Microsoft Visual C++(na mojom 5.0 Learning Edition všetko funguje, take staèíaj táto verzia). Pri programovaní budeme vyuíva funkcieWin32API, ktoré nebudem vysvet¾ova, pretoe náš seriál je oOpenGL, a nie o Win32API. Preto ak nieèomu nerozumiete,naštudujte si to na internete, kde je príruèiek na programo−vanie vo Win32API neúrekom. Po skonèení tohto celého tuto−riálu by ste mali vedie naprogramova jednoduché animácie,demá, mono aj hry. Ale u sa tu nezdrujme teóriou a poï−me na prax.Po tom, èo si vytvoríme aplikáciu Win32, musíme neja−ko poveda linkeru, e pouívame externé kninice. Tourobíme v menu Project/Settings na karte Link v editaè−nom poli Object/Library Modules, kde na úplný zaèiatokpridáme OpenGL32.lib, GLu32.lib a GLaux.lib. Potvrdímestlaèením OK. Ostáva nám len napísa zdrojový kód.Vytvoríme si C++ súbory s názvami init.cpp a kapito−la1.cpp. Takéto delenie nám pomôe neskôr pri vytváranízloitejších programov, keï nebudeme musie písa inicia−lizaèný kód odznova. V súbore init.cpp bude, samozrejme,inicializácia OpenGL a v súbore kapitola1.cpp bude samot−ná kresliaca funkcia, ktorá má na svedomí vykreslenie útva−rov. Teraz budeme písa kód init.cpp.Kninice pripojené k projektu sú nám naniè, pretoenemáme pripojené hlavièkové súbory. Teraz je ten správ−ny èas na ich pripojenie.#include #include #include #include Najskôr si musíme nadefinova premenné, ktoré sú ne−vyhnutné na beh programu. Sú to Device Context (DC), Ren−dering Context (RC), handle nášho okna a instance apli−kácie. Tieto premenné nebudem vysvet¾ova podrobne, jed−noducho si treba zapamäta, e OpenGL je závislý od RC,ktorý spája OpenGL s DC. Ak je to trochu èudné, nebojte sa,niekedy budeme týmto premenným venova jednu èas.HGLRC hRC=NULL;HDC hDC=NULL;HWND hWnd=NULL;HINSTANCE hInstance;V ïalších riadkoch zdrojového kódu si nadefinujemepole pre obsluhu klávesnice, premennú na zistenie aktív−nosti okna (èi má focus) a takisto premennú, ktorá urèuje,èi sme v celoobrazovkovom reime.bool keys[256]; //klávesnicabool active=TRUE;bool fullscreen=TRUE;Tu si musíme preddefinova funkciu WndProc, ktorá spra−cúva správy od Windows. Robíme to preto, lebo z funkcieCreateGLWindow() odkazujeme na WndProc a naopak.LRESULT CALLBACK WndProc(HWND, UINT, WPARAM,LPARAM);Bolo by dobré u prejs aj na funkcie. Tu teda mámeprvú. Volá sa ReSizeGLScene a poslúi nám hlavne pri zme−ne ve¾kosti okna. Takisto sa pouije pri spustení a iniciali−zovaní programu na nastavenie poh¾adu.GLvoid ReSizeGLScene(GLsizei width, GLsizei height);{Našou prvou úlohou v tejto funkcii je postara sa o ve¾−kos okna.Teraz príde tá najhlavnejšia èas funkcie, ktorou je na−stavenie perspektívy kamery. O to sa postará funkcia glu−Perspective. Jej prvý parameter udáva zorný uhol kamery(v našom prípade je 45 stupòov – skúste s týmto èíslomexperimentova, uvidíte, èo sa stane, alebo neuvidíte vô−bec niè ☺). Druhý parameter urèuje pomer výšky a šírkyzobrazovanej plochy, oznaèovanej aj ako aspekt ratio.Tretí, predposledný parameter udáva vzdialenos, odkia¾budú vykreslené predmety vidite¾né, a posledný parame−ter udáva vzdialenos, dokia¾ sú predmety vidite¾né.gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f);U iba ostáva nastavi modelview maticu, urobi jej re−set a túto funkciu máme z krku.glMatrixMode(GL_MODELVIEW);glLoadIdentity();}Ïalšou funkciou bude InitGL, v ktorej budeme robi všet−ky nastavenia.int InitGL(void){A teraz prejdime k jednotlivým nastaveniam OpenGL.Najprv zapneme smooth shading. Aha, vy asi neviete, èoto je. Smooth shading je spôsob vyplòovania. Ak teda akoparameter v príkaze glShademodel uvedieme GL_SMOOTH,naše polygóny budú vyplòované farebným prechodom.Ak však ako parameter uvedieme GL_FLAT, objekty nebu−dú vyplòované farebným prechodom.glShadeModel(GL_SMOOTH); //smooth shadingPrišiel èas na nadefinovanie si farby, ktorou vyfarbímepozadie. OpenGL pouíva miešanie farieb na spôsob RGBA.U ste o tomto spôsobe poèuli. Pouívajú ho aj monitory,grafické karty atï. Celá farebná škála je pri tomto spôso−be miešania farieb zloená z jednotlivých „prímesí“ èerve−nej (Red), zelenej (Green), modrej (Blue) a jasu (Alpha),odtia¾ je názov RGBA.130 PC REVUE 7/2002

P R O G R A M U J E M EESB_DISABLE_BOTH – zakazuje èinnos obidvoch šípok scrollbaru.ESB_DISABLE_DOWN – zakazuje èinnos spodnej šípky pri vertikálnom scrollbare.ESB_DISABLE_LEFT – zakazuje èinnos ¾avej šípky pri horizontálnom scrollbare.ESB_DISABLE_LTUP – zakazuje èinnos ¾avej šípky pri horizontálnom scrollbare alebohornej šípky pri vertikálnom scrollbare.ESB_DISABLE_RIGHT – zakazuje èinnos pravej šípky pri horizontálnom scrollbare.ESB_DISABLE_RTDN – zakazuje èinnos pravej šípky pri horizontálnom scrollbare alebospodnej šípky pri vertikálnom scrollbare.ESB_DISABLE_UP – zakazuje èinnos hornej šípky pri vertikálnom scrollbare.ESB_ENABLE_BOTH – povo¾uje èinnos obidvoch šípok scrollbaru.Výsledok funkcie: BOOL: TRUE, pokia¾ je èinnos šípok scrollbaru povolená, resp. zaká−zaná pod¾a špecifikovaného parametra. FALSE, pokia¾ u šípky v danom stave boli, resp.v priebehu vykonávania funkcie <strong>na</strong>stala chyba.GetScrollInfoWindows NT Win 95 Win32s Lib IncludeÁno Áno Áno user32.lib user32.incFunkcia GetScrollInfo vráti parametre scrollbaru vrátane minimálnej a maximálnej pozície,ve¾kosti strany a súèasnej pozície.Syntax: BOOL GetScrollInfo, HWND hwnd, int fnBar, LPSCROLLINFO lpsiHWND hwnd: Handle <strong>na</strong> okno so štandardným scrollbarom, resp. riadiaci prvok typuSCROLLBAR, v závislosti od hodnoty parametra fnBar.int fnBar: Typ scrollbaru, o ktorom chceme zí<strong>sk</strong>a informácie. Tento parameter môe<strong>na</strong>dobúda jednu z <strong>na</strong>sledujúcich hodnôt:SB_CTL – vráti parametre riadiaceho prvku typu scrollbar. Parameter hwnd musí byhandle <strong>na</strong> poadovaný scrollbar.SB_HORZ – vráti parametre štandardného horizontálneho scrollbaru príslušného ok<strong>na</strong>.SB_VERT – vráti parametre štandardného vertikálneho scrollbaru príslušného ok<strong>na</strong>.LPSCROLLINFO lpsi: Ukazovate¾ <strong>na</strong> štruktúru SCROLLINFO, v ktorej sú uloené informá−cie o scrollbare. Pred volaním funkcie GetScrollInfo aplikácia musí <strong>na</strong>stavi polokyfMa<strong>sk</strong> a cbsize tejto štruktúry.Definícia štruktúry SCROLLINFO.SCROLLINFO STRUCTcbSize DWORD ?fMa<strong>sk</strong> DWORD ?nMin DWORD ?nMax DWORD ?nPage DWORD ?nPos DWORD ?nTrackPos DWORD ?SCROLLINFO ENDScbsize – ve¾kos štruktúry v bajtoch.fMa<strong>sk</strong> – parametre scrollbaru, ktoré chceme zí<strong>sk</strong>a. Táto hodnota môe by kombiná−ciou <strong>na</strong>sledujúcich hodnôt:SIF_PAGE – vráti hodnotu nPage scrollbaru.SIF_POS – vráti hodnotu nPos scrollbaru.SIF_RANGE – vráti hodnoty nMin a nMax scrollbaru.nMin – minimál<strong>na</strong> pozícia scrollbaru.nMax – maximál<strong>na</strong> pozícia scrollbaru.nPage – ve¾kos strany. Scrollbar pouíva túto hodnotu <strong>na</strong> urèenie priblinej ve¾kostiukazovate¾a (thumb).nPos – pozícia umiestnenia ukazovate¾a (thumb).Výsledok funkcie: BOOL: Ak funkcia zí<strong>sk</strong>ala nejaké hodnoty, vráti TRUE, v opaènomprípade je vrátená hodnota FALSE.GetScrollPosWindows NT Win 95 Win32s Lib IncludeÁno Áno Áno user32.lib user32.incFunkcia vráti súèasnú pozíciu ukazovate¾a (thumb) <strong>na</strong> danom scrollbare. Súèasná pozíciaje relatívne èíslo závislé od <strong>na</strong>staveného rozsahu hodnôt scrollbaru. Táto funkcia bolazaradená pre zabezpeèenie kompatibility s Windows NT 3.5 a predchádzajúcimi verzia−mi Windows. Pri programovaní aplikácií pre Windows 95 pouívajte funkciu GetScroll−Info.Syntax: int GetScrollPos, HWND hWnd, int nBarHWND hWnd: Handle <strong>na</strong> okno so štandardným scrollbarom alebo riadiaci prvok typuSCROLLBAR v závislosti od hodnoty parametra nBar.int nBar: Scrollbar, o ktorom chceme zí<strong>sk</strong>a informácie. Tento parameter môe <strong>na</strong>dobú−da jednu z <strong>na</strong>sledujúcich hodnôt:SB_CTL – vráti pozíciu ukazovate¾a (thumb) riadiaceho prvku typu scrollbar. Parameterhwnd musí by handle <strong>na</strong> poadovaný scrollbar.SB_HORZ – vráti pozíciu ukazovate¾a (thumb) štandardného horizontálneho scrollbarupríslušného ok<strong>na</strong>.SB_VERT – vráti pozíciu ukazovate¾a (thumb) štandardného vertikálneho scrollbarupríslušného ok<strong>na</strong>.Výsledok funkcie: int: V prípade úspešného vyko<strong>na</strong>nia funkcie je návratová hodnotapozícia ukazovate¾a scrollbaru, v ostatných prípadoch sa vráti nula.GetScrollRangeWindows NT Win 95 Win32s Lib IncludeÁno Áno Áno user32.lib user32.incFunkcia GetScrollRange vráti súèasné <strong>na</strong>stavenie minimálnej a maximálnej pozície danéhoscrollbaru. Táto funkcia bola zaradená pre zabezpeèenie kompatibility s Windows NT 3.5a predchádzajúcimi verziami Windows. Pri programovaní aplikácií pre Windows 95 po−uívajte funkciu GetScrollInfo.Syntax: BOOL GetScrollRange, HWND hWnd, int nBar, LPINT lpMinPos, LPINT lpMaxPosHWND hWnd: Handle <strong>na</strong> okno so štandardným scrollbarom alebo riadiaci prvok typuSCROLLBAR v závislosti od hodnoty parametra nBar.int nBar: Scrollbar, o ktorom chceme zí<strong>sk</strong>a informácie. Tento parameter môe <strong>na</strong>dobú−da jednu z hodnôt uvedených pri funkcii GetScrollPos.LPINT lpMinPos: Ukazovate¾ <strong>na</strong> premennú typu integer, do ktorej sa uloí minimál<strong>na</strong>pozícia.LPINT lpMaxPos: Ukazovate¾ <strong>na</strong> premennú typu integer, do ktorej sa uloí maximál<strong>na</strong>pozícia.Výsledok funkcie: BOOL: Ak sa funkcia <strong>sk</strong>onèila úspešne, je návratová hodnota TRUE,v opaènom prípade je vrátená hodnota FALSE.ScrollDCWindows NT Win 95 Win32s Lib IncludeÁno Áno Áno user32.lib user32.incFunkcia posúva obdånik <strong>na</strong> danom kontexte zariadenia DC horizontálne alebo vertikálne.Túto funkciu pouívajte <strong>na</strong> posuv klient<strong>sk</strong>ej oblasti ok<strong>na</strong> alebo <strong>na</strong> posuv celej bitovejmapy, resp. jej èasti, v pamäovom kontexte zariadenia.Syntax: BOOL ScrollDC, HDC hDC, int dx, int dy, CONST RECT *lprcScroll, CONST RECT*lprcClip, HRGN hrgnUpdate, LPRECT lprcUpdateHDC hDC: Kontext zariadenia DC, ktorý sa má posunú.int dx: Poèet grafických jednotiek, bodov, o ktorý sa má vyko<strong>na</strong> horizontálny posuv.Pri posuve do¾ava sa udáva táto hodnota záporne.int dy: Poèet grafických jednotiek, bodov, o ktorý sa má vyko<strong>na</strong> vertikálny posuv.Pri posuve hore sa udáva táto hodnota záporne.CONST RECT *lprcScroll: Ukazovate¾ <strong>na</strong> štruktúru RECT, ktorá obsahuje posúvanýobdånik.CONST RECT *lprcClip: Ukazovate¾ <strong>na</strong> štruktúru RECT, ktorá obsahuje súradnice vystrih−nutého pravouholníka. Posunutá je potom len oblas v takto vybranom obdåniku.HRGN hrgnUpdate: Oblas, ktorá nie je zahrnutá do procesu posuvu. Funkcia ScrollDCdefinuje túto oblas; nemusí to by iba pravouholník. Tento parameter môe by NULL.LPRECT lprcUpdate: Ukazovate¾ <strong>na</strong> štruktúru RECT, ktorá dostane súradnice pravouhol−níka, ktorý ohranièuje posunutím zasiahnutú oblas. Táto oblas je <strong>na</strong>jväèší pravouhol−ník v klient<strong>sk</strong>ych súradniciach, ktorý musí by prekreslený. Tento parameter môe byNULL.Výsledok funkcie: BOOL: Ak sa funkcia <strong>sk</strong>onèila úspešne, je vrátená návratová hodnotaTRUE, v opaènom prípade je vrátená hodnota FALSE.ScrollWindowExWindows NT Win 95 Win32s Lib IncludeÁno Áno Áno user32.lib user32.incFunkcia ScrollWindowEx posúva obsah danej klient<strong>sk</strong>ej oblasti ok<strong>na</strong>. Táto funkcia jepodobná funkcii ScrollDC, s tým rozdielom, e ScrollWindowEx pracuje s handle <strong>na</strong> oknoa ScrollDC pouíva kontext zariadenia DC.Syntax: int ScrollWindowEx, HWND hWnd, int dx, int dy, CONST RECT *prcScroll,CONST RECT *prcClip, HRGN hrgnUpdate, LPRECT prcUpdate, UINT flagsHWND hWnd: Handle <strong>na</strong> okno, ktorého klient<strong>sk</strong>a oblas sa má posunú.int dx: Poèet grafických jednotiek, bodov, o ktorý sa má vyko<strong>na</strong> horizontálny posuv.Pri posuve do¾ava sa udáva táto hodnota záporne.int dy: Poèet grafických jednotiek, bodov, o ktorý sa má vyko<strong>na</strong> vertikálny posuv.Pri posuve hore sa udáva táto hodnota záporne.7/2002 PC REVUE 129

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

Saved successfully!

Ooh no, something went wrong!