Панельное
софтостроительство
И
в а н Г А В Р И
Л
Ю
К
Продолжение, начало см. в М К , № 44, 47, 51, 0 1 -0 2 , 10 (319, 322, 326, 3 2 8 S 2 9 , 337)
р о д о л ж и м р а с с м о т р е н и е р е с у р с о в и о б р а т и м с я к н е к о т о -
р ы м д р у г и м и х с т а н д а р т н ы м т и п а м .
Акселераторы (accelerators)
К л а в и а т у р н ы е а к с е л е р а т о р ы ( и л и п р о с т о а к с е л е р а т о р ы ) — э т о
к л а в и ш и и л и и х к о м б и н а ц и и , к о т о р ы е г е н е р и р у ю т с о о б щ е н и я
w m c o m m a n d и л и wm_ s y s c o m m a n d . Т а б л и ц ы а к с е л е р а т о р о в х р а -
н я т с я в р е с у р с а х п р и л о ж е н и я . Д л я т о г о , ч т о б ы п р и л о ж е н и е п о д -
д е р ж и в а л о а к с е л е р а т о р ы , н у ж н о в ц и к л о б р а б о т к и с о о б щ е н и й
в к л ю ч и т ь с п е ц и а л ь н у ю ф у н к ц и ю :
i n t T r a n s l a t e A c c e l e r a t o r (
H W N D hW nd, / / и д е н т и ф и к а т о р о к н а , к о т о р о м у б у д у т о т -
п р а в л е н ы с о о б щ е н и я
HACCEL Ь А с с Т а Ы е , / / и д е н т и ф и к а т о р т а б л и ц ы а к с е л е р а т о -
р о в
LPMSG lp M s g / / с о о б щ е н и е
>?
Э т а ф у н к ц и я т р а н с л и р у е т в х о д я щ и е к л а в и а т у р н ы е с о о б щ е н и я
в с о о т в е т с т в и и с т а б л и ц е й а к с е л е р а т о р о в
h A c c T a b le . Е с т е с т в е н -
н о , п е р е д н а ч а л о м ц и к л а о б р а б о т к и с о о б щ е н и й т а б л и ц у а к с е -
л е р а т о р о в н у ж н о з а г р у з и т ь и з р е с у р с о в . Э т о в ы п о л н я е т ф у н к ц и я
HACCEL L o a d A c c e le r a t o r s (
H IN S TA N C E h l n s t a n c e , / / и д е н т и ф и к а т о р п р и л о ж е н и я
LP C TS TR lp T a b le N a m e / / и м я т а б л и ц ы а к с е л е р а т о р о в
) ;
С т о и т з а м е т и т ь , ч т о и м я т а б л и ц ы а к с е л е р а т о р о в — э т о с т р о -
к а , а н е ч и с л о , к а к э т о б ы л о д л я т а б л и ц ы с т р о к . П о э т о м у , е с л и
в а ш а т а б л и ц а а к с е л е р а т о р о в и с п о л ь з у е т в к а ч е с т в е с в о е г о и д е н -
т и ф и к а т о р а ч и с л о , е г о с н а ч а л а с л е д у е т п е р е в е с т и в с т р о к у с п о -
м о щ ь ю с п е ц и а л ь н о г о м а к р о с а m a k e i n t r e s o u r c e
( )
.
В г с - ф а й л е т а б л и ц а а к с е л е р а т о р о в о п и с ы в а е т с я к л ю ч е в ы м
СЛОВОМ ACCELERATORS:
a c c t a b le n a m e ACCELERATO RS [ o p t i o n a l - s t a t e m e n t s ]
B E G IN
e v e n t , i d v a l u e , [ t y p e ] [ o p t i o n s ]
END
a c ta b le n a m e — и д е н т и ф и к а т о р т а б л и ц ы а к с е л е р а т о р о в , в ы -
б и р а е т с я т а к ж е , к а к и д л я т а б л и ц ы с т р о к .
O p t io n a l- p a r a m e -
t e r s — д о п о л н и т е л ь н ы е п а р а м е т р ы , к о т о р ы е м ы р а с с м а т р и в а т ь
н е б у д е м , и х м н о г о и о н и о п и с а н ы в
MSDN. E v e n t — э т о к л а в и -
ш а , к о т о р а я с о о т в е т с т в у е т а к с е л е р а т о р у ,
id v a lu e — и д е н т и ф и -
к а т о р а к с е л е р а т о р а , э т о ц е л о е ч и с л о .
O p t io n s — н е к о т о р ы е о п -
ц и и а к с е л е р а т о р а , м о ж е т б ы т ь о д н и м и з з н а ч е н и й , п р е д с т а в л е н -
н ы х в т а б л и ц е .
E v e n t м о ж е т п р и н и м а т ь з н а ч е н и е о д н о г о и з т р е х т и п о в :
■7 С и м в о л , з а к л ю ч е н н ы й в к а в ы ч к и . О т в е ч а е т к л а в и ш е н а к л а -
в и а т у р е . П е р е д с и м в о л о м м о ж е т с т о я т ь з н а к А , к о т о р ы й я в л я е т -
с я а н а л о г о м п а р а м е т р а c o n t r o l
в o p t i o n s .
•7 Ч и с л о в о е з н а ч е н и е , с о о т в е т с т в у ю щ е е с и м в о л у . Т о г д а п а -
р а м е т р
t y p e д о л ж е н б ы т ь A S C II.
>7 И д е н т и ф и к а т о р в и р т у а л ь н о й к л а в и ш и . П а р а м е т р
t y p e п р и
ЭТОМ д о л ж е н б ы т ь V IR T K E Y .
К о н е ч н о , т а б л и ц у а к с е л е р а т о р о в м о ж н о с о з д а т ь и н е р е д а к -
т и р у я т е к с т о в ы й ф а й л , а с п о м о щ ь ю в и з у а л ь н о г о р е д а к т о р а V i -
Т А Б Л И Ц А
ALT
Акселератор срабатывает, только когда нажата клавиша Alt
SHIFT
Акселератор срабатывает, только когда нажата клавиша Shift
CONTROL
Акселератор срабатывает, только когда нажата клавиша Ctrl
s u a i C + + . Д о б а в л я е т с я т а б л и ц а а к с е л е р а т о р о в т а к ж е , к а к и т а б -
л и ц а с т р о к . Р е д а к т о р ы р е с у р с о в и м е ю т с а м о о б ъ я с н я ю щ и й и н -
т е р ф е й с , п о э т о м у я н е б у д у о п и с ы в а т ь и х .
Пиктограмма
П и к т о г р а м м о й н а з ы в а е т с я г р а ф и ч е с к о е и з о б р а ж е н и е , о б ы ч -
н о н е б о л ь ш о г о р а з м е р а , с о с т о я щ е е и з о т д е л ь н ы х п и к с е л е й . П и к -
т о г р а м м ы х р а н я т с я в ф а й л а х с р а с ш и р е н и е м / с о . В о д н о м ф а й -
л е о б ы ч н о х р а н я т с я н е с к о л ь к о в а р и а н т о в и з о б р а ж е н и й с р а з -
н ы м ц в е т о в ы м р а з р е ш е н и е м и р а з м е р о м . О б ы ч н о е п р и л о ж е н и е
и м е е т к а к м и н и м у м д в е п и к т о г р а м м ы : 3 2 x 3 2 и 1 6 x 1 6 . П и к т о г р а м -
м а в г с - ф а й л е о п и с ы в а е т с я о ч е н ь п р о с т о , д л я н е е з а р е з е р в и р о -
в а н о к л ю ч е в о е с л о в о
ICO N:
n a m e lD IC O N f ile n a m e
К а к о б ы ч н о ,
n a m e lD — и д е н т и ф и к а т о р п и к т о г р а м м ы . F i l e -
nam e — с т р о к а , в к о т о р о й з а д а е т с я и м я ф а й л а п и к т о г р а м м ы .
Ф а й л п и к т о г р а м м ы ( / с о ) п о д г о т а в л и в а е т с я в с п е ц и а л ь н о м р е д а к -
т о р е п и к т о г р а м м , н а п р и м е р ,
AW Icons, M icroangelo, IconForge.
Н о е с л и в ы б у д е т е п о л ь з о в а т ь с я с р е д о й V i s u a l C + + , т о в а м н е
п о н а д о б я т с я н и к а к и е р е д а к т о р ы , т . к . в с е н е о б х о д и м о е у ж е в с т р о е -
н о в с р е д у . Д о б а в л я е т с я р е с у р с - п и к т о г р а м м а т а к ж е , к а к и д р у -
г и е , в с п и с к е р е с у р с о в с л е д у е т в ы б р а т ь
ic o n , п о с л е д о б а в л е н и я
р е с у р с а а в т о м а т и ч е с к и о т к р ы в а е т с я с о о т в е т с т в у ю щ и й р е д а к т о р ,
в н а ш е м с л у ч а е э т о г р а ф и ч е с к и й р е д а к т о р с м и н и м а л ь н ы м и в о з -
м о ж н о с т я м и . П о у м о л ч а н и ю с о з д а е т с я п и к т о г р а м м а с т а н д а р т н о -
г о р а з м е р а ( 3 2 x 3 2 ) с г л у б и н о й ц в е т а 4 б и т ( 1 6 ц в е т о в ) . Ч т о б ы
д о б а в и т ь к т е к у щ е м у ф а й л у п и к т о г р а м м ы н о в ы й в а р и а н т и з о б р а -
ж е н и я , д о с т а т о ч н о в ы б р а т ь в м е н ю
Image к о м а н д у « n e w device
image.
..» и в ы б р а т ь и з с п и с к а ж е л а е м ы й в а р и а н т . М а к с и м а л ь н а я
г л у б и н а ц в е т а о г р а н и ч е н а и с о с т а в л я е т 8 б и т ( 2 5 6 ц в е т о в ) , в V i -
s u a l C + + . N E T э т о о г р а н и ч е н и е с н я т о , и в ы м о ж е т е р а д о в а т ь с я
п о л н о ц в е т н ы м 1 6 - б и т н ы м п и к т о г р а м м а м .
Д л я з а г р у з к и п и к т о г р а м м ы и з р е с у р с о в с л е д у е т п о л ь з о в а т ь с я
ф у н к ц и е й :
H IC O N L o a d lc o n (
H IN S T A N C E h l n s t a n c e , / / h l n s t a n c e п р и л о ж е н и я
LP C TS TR lp Ic o n N a m e / / с т р о к о в ы й и д е н т и ф и к а т о р р е с у р с а
) ;
О
н а в о з в р а щ а е т и д е н т и ф и к а т о р т и п а h i c o n
, е с л и п и к т о г р а м -
м а у с п е ш н о з а г р у ж е н а , и л и n u l l
, е с л и п р о и з о ш л а о ш и б к а . К а к
и п р е ж д е , е с л и и д е н т и ф и к а т о р п и к т о г р а м м ы в р е с у р с а х з а д а н
ц е л ы м ч и с л о м , о н о п р е о б р а з о в ы в а е т с я в с т р о к о в ы й и д е н т и ф и -
к а т о р с п о м о щ ь ю м а к р о с а m a k e i n t r e s o u r c e
( ).
Курсор мыши
В ы м о ж е т е с о з д а т ь с о б с т в е н н ы й п р о и з в о л ь н ы й к у р с о р м ы ш и ,
о д и н и л и н е с к о л ь к о , д л я с в о е г о п р и л о ж е н и я и х р а н и т ь и х в р е -
с у р с а х п р и л о ж е н и я . К а к и п и к т о г р а м м а , к у р с о р м ы ш и х р а н и т с я
н а д и с к е в о т д е л ь н о м ф а й л е с р а с ш и р е н и е м
*.сиг и л и *.ani.
CUR
п р е д с т а в л я е т с о б о й о б ы ч н о е и з о б р а ж е н и е к у р с о р а в с п е ц и а л ь -
н о м ф о р м а т е , a n i
— э т о т о ж е к у р с о р , н о а н и м и р о в а н н ы й . А н и -
м и р о в а н н ы е к у р с о р ы с о с т о я т и з о т д е л ь н ы х к а д р о в . Н а
RESOURCE
s c r i p t к у р с о р о п и с ы в а е т с я с л е д у ю щ и м о б р а з о м :
n a m e lD CURSOR f ile n a m e
З н а ч е н и я п а р а м е т р о в т а к и е ж е , к а к и д л я п и к т о г р с м м ы .
В V i s u a l C + + р е с у р с ы - к у р с о р ы д о б а в л я ю т с я т а к ж е , к а к и д р у -
г и е т и п ы р е с у р с о в , н о V i s u a l C + + м о ж е т с о з д а в а т ь т о л ь к о с т а т и -
ч е с к и е ( * . / с о ) к у р с о р ы . Ч т о б ы с о з д а т ь а н и м и р о в а н н ы й , с л е д у е т
в о с п о л ь з о в а т ь с я в н е ш н е й п р о г р а м м о й . Я б ы п о р е к о м е н д о в а л
IconForge. С л е д у е т з а м е т и т ь , ч т о к у р с о р ы п о с р а в н е н и ю с п и к -
т о г р а м м а м и и м е ю т е щ е о д и н а т р и б у т , h o t s p o t . H o t s p o t — э т о т о ч -
к а , к о т о р а я п р и н а д л е ж и т и з о б р а ж е н и ю к у р с о р а и к о т о р а я я в л я -
е т с я в е д у щ е й , т . е . ф а к т и ч е с к и у к а з ы в а е т к о о р д и н а т ы м ы ш и . Д л я
к у р с о р а о б ы ч н о й с т р е л к и h o t s p o t н а х о д и т с я в т о ч к е ( 0 , 0 ) , д л я п е -
№ 13/340 28 марта-04 апреля 2005
предыдущая страница 38 Мой Компьютер 2005 13 читать онлайн следующая страница 40 Мой Компьютер 2005 13 читать онлайн Домой Выключить/включить текст