Основе међуспремника (сечење / копирање / лепљење)

click fraud protection

Виндовс Цлипбоард представља контејнер за било који текст или графику који су исечени, копирани или залепљени из или у неку апликацију. Овај чланак ће вам показати како помоћу ТЦлипбоард објекта имплементирати функције копирања и копирања у својој Делпхи апликацији.

Међуспремник генерално

Као што вероватно знате, Међуспремник може истовремено да садржи само један податак исте врсте података за резање, копирање и лепљење. Ако у међуспремник пошаљемо нове информације у истом формату, избрисаћемо оно што је било пре, али Садржај међуспремника остаје у Цлипбоард-у чак и након што их залепимо у други програм.

ТЦлипбоард

Да бисмо користили Виндовс Цлипбоард у нашим апликацијама, морамо додати ЦлипБрд јединица на употребну клаузулу пројекта, осим када ограничавамо сечење, копирање и лепљење на компоненте које већ имају уграђену подршку за Цлипбоард методе. Те компоненте су ТЕдит, ТМемо, ТОЛЕЦонтаинер, ТДДЕСерверИтем, ТДБЕдит, ТДБИмаге и ТДБМемо.

ЦлипБрд јединица аутоматски представља објект ТЦлипбоард који се зове Цлипбоард. Користићемо

instagram viewer
ЦутТоЦлипбоард, ЦопиТоЦлипбоард, ПастеФромЦлипбоард, Јасно и ХасФормат методе за бављење операцијама међуспремника и текстуалном / графичком манипулацијом.

Пошаљи и преузми текст

Да би се неки текст послао у Цлипбоард користи се својство АсТект објекта Цлипбоард. Ако желимо, на пример, да пошаљемо низ за информације садржане у променљивој СомеСтрингДата у међуспремник (бришући било који текст који је ту био) користићемо следећи код:

користи ЦлипБрд; ...
Цлипбоард. АсТект: = СомеСтрингДата_Вариабле; 

Да бисмо преузели текстуалне информације из међуспремника ћемо користити

користи ЦлипБрд; ...
СомеСтрингДата_Вариабле: = Међуспремник. АсТект; 

Напомена: ако само желимо копирати текст из, рецимо, Уреди компоненту у међуспремник, не морамо укључивати ЦлипБрд јединицу у клаузулу употребе. Метода ЦопиТоЦлипбоард ТЕдит копира одабрани текст из контроле за уређивање у Цлипбоард у ЦФ_ТЕКСТ формату.

процедура ТФорм1.Буттон2Цлицк (Пошиљалац: ТОбјецт); започети// следећи ред ће одабрати // СВЕ текст у контроли уређивања {Едит1.СелецтАлл;} Едит1.ЦопиТоЦлипбоард; крај; 

Цлипбоард Имагес

Да би преузео графичке слике из међуспремника, Делпхи мора знати који је тип слике тамо смештен. Слично томе, за пренос слика у међуспремник, апликација мора да каже Цлипбоард-у коју врсту графике шаље. Следе неке од могућих вредности параметра Формат; постоји много више формата међуспремника које нуди Виндовс.

  • ЦФ_ТЕКСТ - Текст са сваким редом који завршава с ЦР-ЛФ комбинација.
  • ЦФ_БИТМАП - Виндовс битна слика.
  • ЦФ_МЕТАФИЛЕПИЦТ - Виндовс метафилеска графика.
  • ЦФ_ПИЦТУРЕ - Објект типа ТПицтуре.
  • ЦФ_ОБЈЕЦТ - Било који постојани предмет.

ХасФормат метода враћа Труе ако слика у међуспремнику има прави формат:

ако Цлипбоард. ХасФормат (ЦФ_МЕТАФИЛЕПИЦТ) онда СховМессаге ('Цлипбоард има метафиле'); 

Користите метод Ассигн за слање (додељивање) слике у међуспремник. На пример, следећи код копира битну мапу из битмап објекта названог МиБитмап у међуспремник:

 Цлипбоард. Додељивање (МиБитмап); 

Опћенито, МиБитмап је објект типа ТГрапхицс, ТБитмап, ТМетафиле или ТПицтуре.

Да бисмо преузели слику из међуспремника, морамо: потврдити формат тренутног садржаја у међуспремнику и користити методу Додељење циљног објекта:

{поставите једно дугме и једну контролу слике на образац1} {Пре извршења овог кода притисните Алт-ПринтСцреен комбинацију тастера}користи цлипбрд;... процедура ТФорм1.Буттон1Цлицк (Пошиљалац: ТОбјецт); започетиако Цлипбоард. ХасФормат (ЦФ_БИТМАП) онда Слика1.Слика. Битмап. Додијели (међуспремник); крај; 

Више контроле међуспремника

Међуспремник чува информације у више формата како бисмо могли да преносимо податке између апликација користећи различите формате. Када читамо информације из међуспремника с Делпхи-јевом ТЦлипбоард класом, ограничени смо на стандардне формате међуспремника: текст, слике и метафилије.

Претпоставимо да радите између две различите Делпхи апликације; како бисте дефинисали прилагођени формат међуспремника како бисте слали и примали податке између та два програма? У сврху истраживања, рецимо да покушавате да кодирате пасте ставка изборника или менија. Желите да буде онемогућено када у међуспремнику нема текста (као инстанције).

Пошто се цео процес са међуспремником одвија иза сцене, не постоји метода класе ТЦлипбоард која би вас обавестила када се догоди нека промена у садржају међуспремника. Идеја је да се прикључите у систем за обавештавање у међуспремнику, како бисте могли да приступите и одговарате на догађаје који се мењају.

Да бисте уживали у већој флексибилности и функционалности, неопходно је бавити се обавештењима о промени међуспремника и прилагођеним форматима међуспремника - преслушавање Цлипбоард-а.

instagram story viewer