home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
shapewin.zip
/
shapewin.jpn
< prev
next >
Wrap
Text File
|
1999-02-02
|
10KB
|
235 lines
éréêéüéÉéàévéëéÄü@ü|ü@ö±ïΘî`âEâBâôâhâEâTâ|ü[âg
Copyright (C) 1998, 1999 Software Research Associates, Inc.
akira@sra.co.jp
éPüDé═é╢é▀é╔
énérü^éQü|éoélé┼é═üAâfâXâNâgâbâvé╔âEâBâôâhâEé╠ïΘî`û│é╡é┼âCâüü[âWôÖé≡
ò\Īé╡éµéñé╞é╖éΘé╞îïì\ïΩÿJé╡é▄é╖üB
é╕é┴é╞ê╚æOé╔é╗é╠éµéñé╚âvâìâOâëâÇé≡Åæé▒éñé╞é╡é─ì┴É▄é╡é╜é▒é╞é¬éáéΦ
é▄é╖üBé╛éóé╜éóé═üAöwîié≡âRâsü[é╡é╜Åπé╔üAâCâüü[âWé≡Åæé½ì₧é±é┼éΓéΘ
é╞üAêΩî⌐âfâXâNâgâbâvé╔Æ╝É┌ò`ëµé╡é╜éµéñé╔î⌐éªéΘé╠é┼é╖é¬üAöwîiòöò¬
é¬ò╧ìXé│éΩéΘé╞é╬éΩé─é╡é▄éóé▄é╖üB
é╗é╠îπüAéwé╠ Shape Extension é╠âRü[âhé≡î⌐é─üAé╗é╠Ä└æòé╔éáé½éΩüAé▒éΩé╚
éτéoélÅπé┼éαÄ└î╗é┼é½éΘé╠é═é╚éóé⌐é╞Ävéóé▄é╡é╜üBé╗éΩé⌐éτé⌐é╚éΦîoé┐é▄é╡
é╜é¬üAéΓé┴é╞Ägùpé╔æ╧éªéΘéαé╠é≡ì∞éΘé▒é╞é¬é┼é½é▄é╡é╜é╠é┼üAé▒é▒é╔î÷èJéó
é╜é╡é▄é╖üB
éQüDâVâFâCâvâEâBâôâhâEé╠É╢ɼ
éQüDéPüDâEâBâôâhâEâNâëâXé╠ôoÿ^
âVâFâCâvâEâBâôâhâEé═üAâJâXâ^âÇâRâôâgâìü[âïé╞é╡é─Ä└î╗é╡é─éóé▄é╖üBÄgùp
é╖éΘé╔é═üAâNâëâXé╠ôoÿ^é¬òKùvé┼é╖üBâNâëâXé═ê╚ë║é╠éµéñé╔ôoÿ^é╡é─é¡é╛é│
éóüB
WinRegisterClass(
hab, âAâôâJü[âuâìâbâNânâôâhâï
ShapeWinName, âNâëâXû╝
ShapeWinProc, âEâBâôâhâEâvâìâVâWââ
0L, âfâtâHâïâgâEâBâôâhâEâXâ^âCâï
sizeof(PVOID)) ; âNâëâXâfü[â^âTâCâY
âNâëâXû╝üAâEâBâôâhâEâvâìâVâWââé═üushapewin.hüvé┼ÆΦï`é│éΩé─éóé▄é╖üBâN
âëâXû╝é═æ╝é╠û╝æOé┼éαì\éóé▄é╣é±üBâNâëâXâfü[â^âTâCâYé═Åπé╠Ælé¬òKÉ{é┼é╖üB
éQüDéQüDâEâBâôâhâEé╠É╢ɼ
âVâFâCâvâEâBâôâhâEé═üAÆ╩Åφé╠âEâBâôâhâEé╞ô»ùlé╔üuWinCreateWindowüvé┼É╢
ɼé│éΩé▄é╖üBé╜é╛é╡üAê╚ë║é╠ô_é╔Æìê╙é╡é─é¡é╛é│éóüB
üEâfâXâNâgâbâvÅπé╔ö±ïΘî`é╠âEâBâôâhâEé≡ò\Īé╖éΘé╔é═üAÉeâEâBâôâhâEé≡âf
âXâNâgâbâvé╔é╡é╚é»éΩé╬é╚éΦé▄é╣é±üBé┼é╚é»éΩé╬üAÆ╩Åφé╠ïΘî`é╠âEâBâôâh
âEôαé╔ò\Īé│éΩé─é╡é▄éóé▄é╖é╠é┼éáé▄éΦê╙ûíé¬éáéΦé▄é╣é±üB
üEÆ╩Åφé╠âvâìâOâëâÇé┼é═âgâbâvâîâxâïâEâBâôâhâEé═âtâîü[âÇâEâBâôâhâEüié¿
ü@éµé╤é╗é╠âTâuâNâëâXüjé╔é╚éΦé▄é╖üBâVâFâCâvâEâBâôâhâEÄ⌐æ╠é═üAâtâîü[âÇ
ü@âEâBâôâhâEé╔æèôûé╖éΘï@ö\é═Ä¥é┴é─éóé▄é╣é±é╠é┼üAé▒éΩé≡Æ╝É┌âgâbâvâîâx
ü@âïâEâBâôâhâEé╔é╡é╚éóò√é¬ê└æSé┼é╖üB
üEê╚ÅπéQô_é⌐éτüAâvâìâOâëâÇÄ⌐æ╠é╠âgâbâvâîâxâïâEâBâôâhâEé═âtâîü[âÇâEâBâô
ü@âhâEé╞é╡üAé╗é╠âtâîü[âÇâEâBâôâhâEé≡âIü[âié╞é╡é─üAâVâFâCâvâEâBâôâhâE
ü@é≡É╢ɼé╖éΘé╠é¬éóéóé╞Ävéóé▄é╖üBé╜é╛üAé▒é╠éµéñé╔é╖éΘÅΩìçé╔é═üAâtâîü[
ü@âÇâEâBâôâhâEé╔Åêù¥é≡Æ╟ë┴é╖éΘüiâtâîü[âÇâEâBâôâhâEé╠âTâuâNâëâXë╗üjòK
ü@ùvé¬éáéΦé▄é╖üBé▒éΩé╔é┬éóé─é═îπÅqé╡é▄é╖üB
üEâVâFâCâvâEâBâôâhâEé╠É╢ɼé╔é═âRâôâgâìü[âïâfü[â^é¬òKÉ{é┼é╖üBâRâôâgâìü[
ü@âïâfü[â^é╔é┬éóé─é═ê╚ë║é┼Éαû╛é╡é▄é╖üB
üEâVâFâCâvâEâBâôâhâEé╠âTâCâYé═üAâRâôâgâìü[âïâfü[â^é┼îêé▄éΦé▄é╖üBÉ╢ɼ
Ä₧é╠âTâCâYÄwÆΦé═û│Äïé│éΩé▄é╖üB
éQüDéRüDâVâFâCâvâRâôâgâìü[âïâfü[â^
É╢ɼé│éΩéΘâVâFâCâvüiö±ïΘî`ù╠êµüjé╠âTâCâYüAî`üAé¿éµé╤ò\Īôαùeé═É╢ɼÄ₧
é╠âRâôâgâìü[âïâfü[â^é┼ÄwĪé╡é▄é╖üB
ò\Īôαùeé═É╢ɼé╡é╜îπé┼ò╧ìXé╖éΘé▒é╞é¬é┼é½é▄é╖é¬üAâTâCâYé╞î`üiâVâF
âCâvüjé═É╢ɼÄ₧é╔ÄwĪé│éΩé╜éαé╠é╠é▄é▄é┼ò╧ìXé┼é½é▄é╣é±üB
âRâôâgâìü[âïâfü[â^é═ê╚ë║é╠ì\æóæ╠üishapewin.hé┼ÆΦï`üjé┼ÄwĪé╡é▄é╖üB
typedef struct _SHAPEWIN {
SHORT cx, cy ; âVâFâCâvé╠âTâCâY
HPS hpsMask ; â}âXâNâpâ^ü[âôüiâVâFâCâvüj
HPS hpsDraw ; ò`ëµâfü[â^é╠â\ü[âX
} SHAPEWIN, *PSHAPEWIN ;
hpsMask é┼ÄwĪé│éΩéΘâvâîâ[âôâeü[âVâçâôâXâyü[âXé╔ò`ëµé│éΩé╜ cx ü~ cy
âTâCâYé╠âCâüü[âWé¬ò\Īé│éΩéΘâEâBâôâhâEé╠î`é╔é╚éΦüAhpsDraw é┼ÄwĪé│éΩ
éΘâvâîâ[âôâeü[âVâçâôâXâyü[âXé╠âfü[â^é¬üAé╗é▒é╔ò\Īé│éΩé▄é╖üB
éQüDéSüDâ}âXâNâpâ^ü[âô
hpsMask é╠âCâüü[âWé┼üAî┤ô_üiéOüAéOüjé╠ÉFé≡öwîiÉFé╞é▌é╚é╡üAöwîiÉFé╞é═
ê┘é╚é┴é╜ÉFé╠òöò¬é≡ò`ëµù╠êµé╞é╡é▄é╖üB
Æ╩Åφé═üAâüâéâèéoérÅπé┼üAæSæ╠üiïΘî`ù╠êµüjé≡öwîiÉFé┼ôhéΦé┬é╘é╡é╜Åπé╔üA
ò`ëµé╡é╜éóâCâüü[âWé≡ì∞éΘéµéñé╔é╡é▄é╖üBò`ëµòöò¬é╔öwîiÉFé¬è▄é▄éΩé─éóé╚
é»éΩé╬üAé╗é╠âüâéâèéoéré≡â}âXâNâpâ^ü[âôüAò`ëµâfü[â^é╠ù╝ò√é╔ÄwÆΦé╡é─éα
ûΓæΦé═éáéΦé▄é╣é±üB
âTâôâvâïé┼é═é╟éΩéαé▒é╠éµéñé╔é╡é─éóé▄é╖üB
î┤ù¥ôIé╔é═üAÄgùpë┬ö\é╚â}âXâNâpâ^ü[âôé╠âTâCâYé╔ɺî└é═éáéΦé▄é╣é±üBé╡é⌐
é╡üAéáéΘÆ÷ôxæσé½é╚éαé╠éΓüAé⌐é╚éΦôⁿéΦægé±é╛éαé╠é≡ÄwÆΦé╖éΘé╞â}âVâôé╔æ╜
æσé╚òëë╫é¬é⌐é⌐éΦé▄é╖üB
âTâCâYé╠û┌ê└é╞é╡é─é═üAâAâCâRâôâGâfâBâ^é┼ĵéΦê╡éªéΘÆ÷ôxüAé╞éóé┴é╜
é╞é▒éδé╛é╞Ävéóé▄é╖üBé╜é╛é╡üAÆPÅâé╚É}î`é┼é╡é╜éτüAéαéñé╖é▒é╡æσé½é¡
é─éαæσÅΣòvé┼é╖üBòíÄGé╚éαé╠é╞é╡é─é═üAos2tile.bmp é╚é±é⌐é═üAżé│éó
éφéΦé╔é╞é─éαÅdé¡é╚éΦé▄é╖üBé▒é╠éµéñé╚âüâbâVâàÅ≤é╠âpâ^ü[âôé═ì┼éαïΩ
ÄΦé╞é╖éΘé╞é▒éδé┼é╖üBos2\bitmapé╔éáéΘéαé╠é═æσÆ∩é╗éñé┼é╖é╦üB
éQüDéTüDò`ëµâfü[â^é╠ìXÉV
hpsDraw é╠âvâîâ[âôâeü[âVâçâôâXâyü[âXé≡ëεé╡é─üAò╧ìXé│éΩé╜ò`ëµâfü[â^é≡
âVâFâCâvâEâBâôâhâEé╔ö╜ëfé│é╣éΘé▒é╞é¬é┼é½é▄é╖üB
ò`ëµù╠êµüihpsDrawüj é╠ôαùeé¬ò╧ìXé│éΩüAé╗éΩé≡ëµû╩Åπé╔ö╜ëfé│é╣éΘé╔é═üA
âVâFâCâvâEâBâôâhâEé╔æ╬é╡é─ê╚ë║é╠âüâbâZü[âWé≡æùÅoé╡é▄é╖üB
SHAPEWIN_MSG_UPDATE ëµû╩é╠ìXÉVùvïü
param1 PRECTL ìXÉVù╠êµ
param2 NULL
êΩòöé╛é»é¬ìXÉVé│éΩé─üAù]ò¬é╚ò`ëµé≡ö≡é»é╜éóÅΩìçé╔é═üAparam1é┼ìXÉVö═ê═
é≡ÄwĪé╡é─é¡é╛é│éóüBparam1é¬ÄwÆΦé│éΩé─éóé╚é»éΩé╬üiNULLé╠ÅΩìçüjüAëµû╩
æSæ╠é¬ì─ò`ëµé│éΩé▄é╖üBâVâFâCâvâEâBâôâhâEé╠ì─ò`ëµé═é⌐é╚éΦÅdéóÅêù¥é╔é╚
éΦé▄é╖é╠é┼üAò╧ìXö═ê═é¬Å¼é│é»éΩé╬üAé╚éΘé╫é¡ìXÉVö═ê═é≡ÄwÆΦé╖éΘéµéñé╔é╡
é╜ò√é¬éóéóé╞Ävéóé▄é╖üB
é▄éáüAìéæ¼ébéoété╔ìéɽö\é╠ârâfâIâ{ü[âhé≡Ägé┴é─éóéΘé╚éτüAæSæ╠é≡ì─
ò`ëµé╖éΘò√é¬æ¼éóé⌐éαé╡éΩé▄é╣é±é¬üB
éRüDâtâîü[âÇâEâBâôâhâEé╞é╠ægé▌ìçéφé╣é╔é┬éóé─
é▒é╠Å═é╠ïLÅqé═üAéóéφéΣéΘéuéÅéÅécéÅéÅé┼é╖üBê╚ë║é╠Éαû╛é═üAÄäé╠ÄΦî│é╠è┬
ï½üiWarp3/Connectüjé┼é═ô«ì∞é╡é─éóé▄é╖é¬üAæ╝é╠è┬ï½é┼é═ô«ì∞é╖éΘé⌐é╟éñé⌐
éφé⌐éΦé▄é╣é±üBéñé┐é╠è┬ï½é┼é═ô«é⌐é╚é⌐é┴é╜é╞é⌐üAéαé┴é╞é▄é╡é╚ò√û@é¬éáéΘüA
é╞éóéñò√é═îΣÿAùìé¡é╛é│éóüB
âVâFâCâvâEâBâôâhâEé≡Ägùpé╖éΘÄ₧é═üAâfâXâNâgâbâvÅπé╔üiæ╝é╠âEâBâôâhâEé╠
Æåé┼é═é╚é¡üjÆ╝É┌ò`ëµé╡é╜éóé⌐éτé╛é╞Ävéóé▄é╖üBé╡é⌐é╡üAâVâFâCâvâEâBâôâh
âEÄ⌐æ╠é╔é═âtâîü[âÇæèôûé╠ï@ö\é═è▄é▄éΩé─éóé▄é╣é±é╠é┼üAâVâFâCâvâEâBâôâh
âEé≡âgâbâvâîâxâïâEâBâôâhâEé╔é╖éΘé╠é═èδî»é┼é╖üBé▒é╠é╜é▀üA
ÉeâEâBâôâhâE âfâXâNâgâbâv
âIü[âiâEâBâôâhâE âtâîü[âÇâEâBâôâhâE
é╞é╡é─âVâFâCâvâEâBâôâhâEé≡ì∞éΘé╠é¬ê└æSé┼éóéóé⌐é╞Ävéóé▄é╖üB
é▒é╠éµéñé╔é╡é─ì∞ɼé│éΩé╜âtâîü[âÇâEâBâôâhâEüAâVâFâCâvâEâBâôâhâEé╔é═Ée
Äqè╓îWé¬é╚éóé╜é▀é╔üAÆ╩Åφé╠âtâîü[âÇü^âNâëâCâAâôâgé┼ìsé╚éφéΩéΘɺîΣé¬êΩ
òöî°é⌐é╚é¡é╚éΦé▄é╖üBé▒éΩéτé╠ɺîΣé≡ùLî°é╔é╖éΘé╔é═üAâtâîü[âÇâEâBâôâhâE
é╠Åêù¥é≡âJâXâ^â}âCâYüiâTâuâNâëâXë╗üjé╖éΘòKùvé¬éáéΦé▄é╖üB
é▄é╜üAé▒é╠éµéñé╚ì\ɼé┼âEâBâôâhâEé≡ì∞éΘé╞üAëµû╩Åπé╔é═üAâtâîü[âÇâEâBâô
âhâEé╞âVâFâCâvâEâBâôâhâEé╠ù╝ò√é¬ò\Īé│éΩéΘé▒é╞é╔é╚éΦé▄é╖üBù]ò¬é╚âtâîü[
âÇâEâBâôâhâEé╠ò\Īû│é╡é┼üAâVâFâCâvâEâBâôâhâEé╛é»é¬ò\Īé│éΩé─éóéΘéµéñ
é╔î⌐é╣éΘé╔éαüAâtâîü[âÇâEâBâôâhâEé╠Åêù¥é≡âJâXâ^â}âCâYüiâTâuâNâëâXë╗üj
é╖éΘòKùvé¬éáéΦé▄é╖üB
éRüDéPüDâtâîü[âÇɺîΣâüâbâZü[âWé╠ô]æù
âtâîü[âÇâEâBâôâhâEé╠ê╩ÆuüAâTâCâYüAéyâIü[â_ôÖé¬ò╧ë╗é╖éΘÅΩìçé╔é═üA
WM_ADJUSTWINDOWPOS ò╧ìXÆ╩Æm
WM_WINDOWPOSCHANGED è«ù╣Æ╩Æm
é╠âüâbâZü[âWé¬ö¡É╢é╡é▄é╖üBâVâFâCâvâEâBâôâhâEé╠ê╩ÆuéΓéyâIü[â_é≡âtâîü[
âÇâEâBâôâhâEé╔Æ╟Å]é│é╣éΘé╔é═üAé▒éΩéτé╠âüâbâZü[âWé╠ëäÆ╖é┼üAâVâFâCâvâEâBâô
âhâEé╠ê╩ÆuéΓéyâIü[â_é≡ɺîΣé╖éΘé╞éµéóéµéñé┼é╖üBï∩æ╠ôIé╔é═
case WM_ADJUSTWINDOWPOS :
pswp = (PSWP) PVOIDFROMMP(mp1) ;
WinSetWindowPos(hwndShape, pswp->hwndInsetBehind,
pswp->x, pswp->y, pswp->cx, pswp->cy, pswp->fl) ;
return âfâtâHâïâgÅêù¥
é╞é⌐
case WM_WINDOWPOSCHANGED :
pswp = (PSWP) PVOIDFROMMP(mp1) ;
WinSetWindowPos(hwndShape, pswp->hwndInsetBehind,
pswp->x, pswp->y, pswp->cx, pswp->cy, pswp->fl) ;
return âfâtâHâïâgÅêù¥
é╞éóéñî`æ╘é┼é╖üBé╚é¿üAWINDOWPOSCHANGED é╠ò√é═üAâtâîü[âÇâEâBâôâhâEé≡ö±
ò\Īé╔é╡é╜ÅΩìçüiăé╠É▀üjé╔é═Ägéªé▄é╣é±üB
Å┌é╡é¡é═âTâôâvâïâRü[âhé≡îΣùùé¡é╛é│éóüB
éRüDéQüDî⌐éªé╚éóâtâîü[âÇâEâBâôâhâE
âtâîü[âÇâEâBâôâhâEüAâVâFâCâvâEâBâôâhâEé╠ù╝ò√é≡ì∞éΦüAâVâFâCâvâEâBâôâh
âEé╛é»é¬ò\Īé│éΩéΘéµéñé╔é╖éΘé╜é▀é╔üAâtâîü[âÇâEâBâôâhâEé≡ö±ò\Īé╔é╖éΘ
é▒é╞é¬é┼é½é▄é╖üB
é▒éΩé╔é═üAæOÅoé╠üuWM_ADJUSTWINDOWPOSüvâüâbâZü[âWé≡âtâbâNé╡üAérévéoâfü[
â^é≡ò╧ìXé╡é▄é╖üBâtâîü[âÇé≡ö±ò\Īé╔é╖éΘé╔é═
case WM_ADJUSTWINDOWPOS :
pswp = (PSWP) PVOIDFROMMP(mp1) ;
WinSetWindowPos(hwndShape, pswp->hwndInsetBehind,
pswp->x, pswp->y, pswp->cx, pswp->cy, pswp->fl) ;
pswp->fl &= ~SWP_SHOW ;
return âfâtâHâïâgÅêù¥
é╞é╡é▄é╖üBé▄é╜âEâBâôâhâEâTâCâYé≡î┼ÆΦé╖éΘé╔é═üA
case WM_ADJUSTWINDOWPOS :
pswp = (PSWP) PVOIDFROMMP(mp1) ;
WinSetWindowPos(hwndShape, pswp->hwndInsetBehind,
pswp->x, pswp->y, pswp->cx, pswp->cy, pswp->fl) ;
pswp->cx = î┼ÆΦâTâCâY ;
pswp->cy = î┼ÆΦâTâCâY ;
pswp->fl &= ~SWP_SHOW ;
return âfâtâHâïâgÅêù¥
é╞é╡é─ɺîΣé┼é½é▄é╖üB
Å┌é╡é¡é═âTâôâvâïâRü[âhüitrbitmap.cüAtranime.cüjé≡îΣùùé¡é╛é│éóüB
éRüDéRüDâLü[üAâ}âEâXÄûÅ█é╠Æ╩Æm
âVâFâCâvâEâBâôâhâEé┼ö¡É╢é╡é╜âLü[üAâ}âEâXè╓ÿAé╠âCâxâôâgüiâüâbâZü[âWüj
é═âIü[âiâEâBâôâhâEé╔ô]æùé│éΩé▄é╖üBé╗é▒é┼üAâLü[éΓâ}âEâXé╔æ╬é╖éΘÅêù¥é≡
Ä└æòé╖éΘé╔é═üAâtâîü[âÇé╔é╗é╠éµéñé╚âRü[âhé≡ægé▌ì₧é▐òKùvé¬éáéΦé▄é╖üB
é▒é▒é┼Æìê╙é╡é─ù~é╡éóô_é═üAâ}âEâXè╓ÿAé╠âüâbâZü[âWé┼é═æ╜é¡é╠ÅΩìçâ}âEâX
é╠ê╩Æué¬êΩÅÅé╔Æ╩Æmé│éΩéΘéµéñé╔é╚é┴é─éóé▄é╖é¬üAâVâFâCâvâEâBâôâhâEé≡Ägé┴
é╜ÅΩìçé╔é═üAâ}âEâXê╩Æué¬âVâFâCâvâEâBâôâhâEæèæ╬é╔é╚é┴é─éóéΘé╜é▀üAâtâîü[
âÇâEâBâôâhâEé┼é╗é╠ê╩Æué≡ÄQÅ╞é╡é─éαû│ê╙ûíé╔é╚é┴é─éóéΘüAé╞éóéñô_é┼é╖üB
Åêù¥é╠ôsìçé┼â}âEâXê╩Æué≡òKùvé╞é╖éΘÅΩìçé╔é═ò╩ôrüuWinQueryPointerPosüv
ôÖé┼ïüé▀éΘéµéñé╔é╡é─é¡é╛é│éóüB
Å┌é╡é¡é═âTâôâvâïâRü[âhüitrbitmap.cüAtreyes.cüjé≡îΣùùé¡é╛é│éóüB