
We are searching data for your request:
Upon completion, a link will appear to access the found materials.
Bitmaps- ից սրբապատկերներից մինչև կուրսորը մինչև լարային սեղաններ, յուրաքանչյուր Windows ծրագիր օգտագործում է ռեսուրսներ:Ռեսուրսներ ծրագրի այն տարրերն են, որոնք աջակցում են ծրագրին, բայց գործադիր կոդ չեն: Այս հոդվածում մենք կքննարկենք ռեսուրսներից բիտմապի, սրբապատկերների և կուրսորը օգտագործելու որոշ օրինակներ:
Ռեսուրսների գտնվելու վայրը
.Exe ֆայլում ռեսուրսների տեղադրումը ունի երկու հիմնականառավելությունները:
- Ռեսուրսներին կարելի է ավելի արագ մուտք գործել, քանի որ գործադիր ֆայլում ռեսուրսը գտնելու համար ավելի քիչ ժամանակ է հարկավոր, քան դա սկավառակի ֆայլից բեռնելու համար:
- Ծրագրի ֆայլը և ռեսուրսները կարող են պարունակվել մեկ բաժնում (the .exe ֆայլ) առանց շատ օժանդակ ֆայլերի անհրաժեշտության:
Պատկերների խմբագիր
Առաջին հերթին պետք է ստեղծել ռեսուրսների ֆայլ: Ռեսուրսների ֆայլերի լռելյայն երկարաձգումն է:RES. Ռեսուրսների ֆայլերը կարող են ստեղծվել Delphi- ի Image Խմբագրիչով:
Դուք կարող եք անվանել ռեսուրսների ֆայլը ձեր ուզած ցանկացած բան, քանի դեռ այն ունի ընդլայնում ".RES", և առանց ընդարձակման ֆայլի անունը նույնը չէ, ինչ ցանկացած միավոր կամ նախագծի անուն: Սա կարևոր է, քանի որ, ըստ լռելյայն, Դելֆիի յուրաքանչյուր նախագիծ, որը կազմվում է հայտ, ունի ռեսուրսային ֆայլ նույն անունով, ինչպիսին է նախագծի ֆայլը, բայց ընդլայնմամբ ՝ «.RES»: Լավագույնն է պահպանել ֆայլը նույն գրացուցակում, ինչպես ձեր նախագծի ֆայլը:
Ծրագրերում ներառված ռեսուրսները
Մեր սեփական ռեսուրսների ֆայլը մուտք գործելու համար մենք պետք է Դելֆիին ասենք կապել մեր ռեսուրսների ֆայլը մեր դիմումի հետ: Դա իրականացվում է `կազմողի հրահանգը ավելացնելով կոդին: Այս հրահանգը անհապաղ պետք է հետևի ձևի հրահանգին, ինչպես հետևյալը.
$ R * .DFM
$ R DPABOUT.RES
Պատահականորեն մի ջնջեք {$ R * .DFM} մասը, քանի որ սա այն կոդն է, որը Դելֆիին ասում է կապել ձևի տեսողական մասում: Երբ ընտրում եք արագության կոճակների, Պատկերային բաղադրիչների կամ կոճակի բաղադրիչների բիտմապ քարտեզներ, Դելֆին ներառում է ձեր ընտրած bitmap ֆայլը ՝ որպես ձևի ռեսուրսի մի մաս: Դելֆին մեկուսացնում է ձեր ինտերֆեյսի տարրերը .DFM ֆայլում:
Ռեսուրսն իրականում օգտագործելու համար դուք պետք է կատարեք մի քանի Windows API զանգեր: RES- ի ֆայլերում պահվող Bitmaps- ը, կուրսորը և պատկերակները կարող են ստացվել API գործառույթների միջոցով LoadBitmap, LoadCursor, և LoadIcon համապատասխանաբար
Նկարները ռեսուրսներում
Առաջին օրինակը ցույց է տալիս, թե ինչպես բեռնել որպես ռեսուրս պահված բիտման քարտեզ և ցուցադրել այն a- ում Նկարագրություն բաղադրիչը:
կարգը TfrMain.btnCanvasPic (Ուղարկող ՝ TObject);
var bBitmap: TBitmap;
սկսվում է
bBitmap. = TBitmap.Create;
փորձիր
bBitmap.Handle. = LoadBitmap (hInhent, 'ATHENA');
Image1. Լայնությունը ՝ = bBitmap.Width;
Image1.Hight: = bBitmap.Hight;
Image1.Canvas.Draw (0,0, bBitmap);
վերջապես
bBitmap. անվճար;
վերջ;
վերջ;
Նշում. Եթե բեռնման բիթային քարտեզը ռեսուրսային ֆայլում չէ, ծրագիրը դեռ գործելու է, այն պարզապես չի ցուցադրի բիտմապը: Այս իրավիճակից հնարավոր է խուսափել փորձարկումներից `պարզելու, թե արդյոք այդbBitmap.Handle զանգից հետո զրո էLoadBitmap () և համապատասխան քայլեր ձեռնարկելով: Նախորդ կոդով փորձված / վերջապես մասը չի լուծում այս խնդիրը, պարզապես այստեղ է համոզվելու, որ bBitmap- ը ոչնչացված է, և դրա հետ կապված հիշողությունը ազատվում է:
Մեկ այլ եղանակ, որը մենք կարող ենք օգտագործել ռեսուրսից բիթմա-քարտեզ ցուցադրելու համար, հետևյալն է.
կարգը TfrMain.btnLoadPicClick (Ուղարկող ՝ TObject);
սկսվում է
Image1.Picture.Bitmap.
LoadFromResourceName (hInhent, 'EARTH');
վերջ;
Կուրսորը ռեսուրսներում
Էկրան.Կուրսորներ Դելֆիի կողմից մատակարարված կուրսորների մի շարք է: Օգտագործելով ռեսուրսների ֆայլեր, մենք կարող ենք ավելացնել կուրսորը Cursors- ի գույքին: Քանի դեռ մենք չենք ցանկանում փոխարինել որևէ կանխադրված լուծում, լավագույն ռազմավարությունն է 1-ից սկսած կուրսորի համարների օգտագործումը:
կարգը TfrMain.btnUseCursorClick (Ուղարկող ՝ TObject);
կոնստ NewCursor = 1;
սկսվում է
Screen.CursorsNewCursor. =
LoadCursor (hInhent, 'CURHAND');
Image1.Cursor: = NewCursor;
վերջ;
Սրբապատկերներ ռեսուրսների մեջ
Եթե նայենք ԴելֆիինԾրագիր-ընտրանքներ-դիմում պարամետրերը, մենք կարող ենք գտնել, որ Դելֆին տրամադրում է լռելյայն պատկերակը նախագծի համար: Այս պատկերակը ներկայացնում է հավելվածը Windows Explorer- ում, և երբ ծրագիրը նվազագույնի հասցվում է: Մենք դա հեշտությամբ կարող ենք փոխել `կտտացնելով« Բեռի պատկերակը »կոճակը:
Եթե մենք ուզում ենք, օրինակ, անիմաստացնել ծրագրի պատկերակը, երբ ծրագիրը նվազագույնի հասցվի, ապա հետևյալ ծածկագիրը կկատարի աշխատանքը:
Անիմացիայի համար մեզ անհրաժեշտ է աTTimer բաղադրիչը մի ձևի վրա: Կոդը ռեսուրսային ֆայլից երկու սրբապատկեր է բերում զանգվածիTIcon առարկաներ; այս զանգվածը պետք է հայտարարվի հիմնական ձևի հանրային մասում: Մեզ նույնպես պետք կլինիNrIco, դա տոկոսադրույքի տիպի փոփոխական է, հայտարարված էհանրային մաս TheNrIco օգտագործվում է հետևելու հաջորդ պատկերակի ցուցադրությանը հետևելու համար:
հանրային
nrIco: Հետաքրքրություն;
MinIcon. TIcon- ի array0… 1;
…
կարգը TfrMain.FormCreate (Ուղարկող ՝ TObject);
սկսվում է
MinIcon0: = TIcon.Create;
MinIcon1: = TIcon.Create;
MinIcon0.Handle: = LoadIcon (hInhent, 'ICOOK');
MinIcon1.Handle: = LoadIcon (hInstance, 'ICOFOLD');
NrIco: = 0;
Timer1.Interval: = 200;
վերջ;
…
կարգը TfrMain.Timer1Timer (Ուղարկող ՝ TObject);
սկզբնական IsIconic (Application.Handle) ապա սկսվում է
NrIco: = (NrIco + 1) մոդ 2;
Application.Icon ՝ = MinIconNrIco;
վերջ;
վերջ;
…
կարգը TfrMain.FormDestroy (Ուղարկող ՝ TObject);
սկսվում է
MinIcon0. անվճար;
MinIcon1. անվճար;
վերջ;
Մեջ Timer1.OnTimer միջոցառումների կառավարիչ, Պատկերացվել է գործառույթն օգտագործվում է `տեսնելու համար, արդյոք մենք պետք է անիմաստացնենք մեր հիմնական պատկերակը, թե ոչ: Դա կատարելու ավելի լավ միջոց կլինի առավելագույնի հասցնել / նվազագույնի հասցնել կոճակները և գործել:
Վերջնական բառեր
Մենք կարող ենք որևէ բան (լավ, ոչ ամեն ինչ) տեղադրել ռեսուրսային ֆայլերում: Այս հոդվածը ցույց է տվել ձեզ, թե ինչպես օգտագործել ռեսուրսները ձեր Delphi հավելվածում բիտմապի, կուրսորը կամ պատկերակի օգտագործման / ցուցադրման համար:
Նշում. Երբ մենք Delphi- ի նախագիծը սկավառակի վրա ենք պահում, Delphi- ն ինքնաբերաբար ստեղծում է մեկ .RES ֆայլ, որն ունի նույն անունով, ինչ նախագիծը (եթե ոչ այլ ինչ, ապա ծրագրի հիմնական պատկերակը ներսում է): Չնայած մենք կարող ենք փոխել այս ռեսուրսների ֆայլը, դա ցանկալի չէ:
Բացարձակապես ձեզ հետ համաձայն է: Ինձ թվում է, շատ լավ գաղափար է: Ամբողջովին ձեզ հետ ես համաձայն կլինեմ:
Կարծում եմ, որ սխալվում ես: Ես կարող եմ պաշտպանել դիրքը: Գրեք ինձ Վարչապետին, մենք կքննարկենք:
Ես կարող եմ առաջարկել գնալ մի կայքի, որն այս թեմայի վերաբերյալ շատ հոդվածներ ունի:
Թանկարժեք արտահայտությունն է
Ես հիմա չեմ կարող մասնակցել քննարկմանը. Ազատ ժամանակ չկա: Բայց ես ազատ կլինեմ. Ես անպայման կգրեմ այն, ինչ մտածում եմ այս հարցում:
You could not be mistaken?
Իհարկե Համաձայն եմ պատմել վերը նշված բոլորին: Մենք կարող ենք հաղորդակցվել այս թեմայի շուրջ: Այստեղ կամ վարչապետ: