|
|
Проверяет буфер обмена на наличие данных указанного формата.
Синтаксис
clpBrdObj.HasFormat(
| Format
| ): Boolean;
|
Параметры
|
Параметр
| Тип
| Описание
|
Format
| Enum
| проверяемый формат данных буфера обмена (см. ниже)
|
|
Возвращаемое значение
|
Значение
| Описание
|
true
| буфер обмена содержит данные указанного формата
|
false
| буфер обмена не содержит данных указанного формата
|
|
var CF_Lst=new Array( "CF_BITMAP", "CF_DIB", "CF_DIBV5", "CF_DIF", "CF_DSPBITMAP", "CF_DSPENHMETAFILE", "CF_DSPMETAFILEPICT", "CF_DSPTEXT", "CF_ENHMETAFILE", "CF_HDROP", "CF_LOCALE", "CF_METAFILEPICT", "CF_OEMTEXT", "CF_OWNERDISPLAY", "CF_PALETTE", "CF_PENDATA", "CF_RIFF", "CF_SYLK", "CF_TEXT", "CF_TIFF", "CF_UNICODETEXT", "CF_WAVE" );
// Главная форма frm=new TForm(); frm.Caption="JS+ - метод компонента TClipboard HasFormat"; frm.Width =525; frm.Height=375;
// Строка состояния stb=new TStatusBar(frm); stb.SimpleText=' Нажмите любую из кнопок "Копировать"';
// Метка текста ltx=new TLabel(frm); ltx.Caption="Текст:" ltx.Left=ltx.Top=10;
// Текст txt=new TMemo(frm); txt.BorderStyle=bsSingle; txt.Left=ltx.Left; txt.Top =ltx.Top+ltx.Height+5; txt.Height=stb.Top-txt.Top-10;
for (i=1;i<10;i++) txt.Lines.Add("Строка "+i);
// Метка изображения lim=new TLabel(frm); lim.Caption="Изображение:" lim.Top=ltx.Top;
// Панель изображения pim=new TPanel(frm); pim.BorderStyle=bsSingle; pim.Top=txt.Top; pim.Width=pim.Height=txt.Height;
// Изображение img=new TImage(pim); img.Align=alClient; img.LoadFromFile(JSPlus.HelpDir+"IMAGE\\TClipboard\\Image.jpg");
img.Align=alNone; pim.ClientWidth=txt.ClientWidth=img.Width; pim.Left=lim.Left=txt.Left*2+txt.Width;
// Метка буфера обмена lcb=new TLabel(frm); lcb.Caption="Буфер обмена:" lcb.Top =ltx.Top; lcb.Left=txt.Left+pim.Left+pim.Width;
// Панель буфера обмена pcb=new TPanel(frm); pcb.BorderStyle=bsSingle; pcb.SetBounds(lcb.Left,txt.Top,txt.Width,txt.Height);
// Текст буфера обмена tcb=new TMemo(pcb); tcb.Align=alClient; tcb.Visible=false;
// Изображение буфера обмена icb=new TImage(pcb); icb.Align=alClient; icb.Visible=false;
// Кнопки for (i=0,y=txt.Top+txt.Height+10;i<3;i++) { btn=new TSpeedButton(frm);
switch (i) { case 0: btn.Name="CPY_TXT"; btn.Caption="Копировать"; btn.Hint=btn.Caption+" текст в буфер обмена"; x=txt.Left; break;
case 1: btn.Name="CPY_IMG"; btn.Caption="Копировать"; btn.Hint=btn.Caption+" изображение в буфер обмена"; x=pim.Left; break;
case 2: btn.Name="CLR_CLB"; btn.Caption="Очистить"; btn.Hint=btn.Caption+" буфер обмена"; x=pcb.Left; }
bmp=new TBitmap(); bmp.LoadFromFile(JSPlus.HelpDir+"IMAGE\\TClipboard\\"+i+".bmp"); btn.Glyph=bmp; btn.Spacing=5; btn.Width =bmp.Width+frm.TextWidth(btn.Caption)+btn.Spacing+20; btn.Height=bmp.Height+20; btn.Left=x+(txt.Width-btn.Width)/2; btn.Top =y; btn.ShowHint=true; btn.OnClick=btn_Click; }
frm.ClientWidth=txt.Left+pcb.Left+pcb.Width; frm.ClientHeight=btn.Top+btn.Height+10+stb.Height;
// Буфер обмена clb=Clipboard();
txt.SetFocus(); frm.ShowModal();
function clb_Update() { var stb_Str=" Форматы в буфере обмена:",frm_Str;
if (clb.HasFormat(CF_TEXT)) { tcb.Text=clb.AsText; icb.Visible=false; tcb.Visible=true; }
if (clb.HasFormat(CF_BITMAP)) { icb.Picture.Bitmap.Assign(clb); tcb.Visible=false; icb.Visible=true; }
for (i=0,frm_Str="";i<clb.FormatCount;i++) for (j=0;j<CF_Lst.length;j++) if (clb.Formats[i]==eval(CF_Lst[j])) { frm_Str+=" "+CF_Lst[j]; break; }
stb.SimpleText=stb_Str+((frm_Str=="") ? " нет" : frm_Str); }
// Обработчик события OnClick function btn_Click(btn) { switch (btn.Name) { case "CPY_TXT": if (txt.Text!="") { clb.Clear(); clb.AsText=txt.Text; } break;
case "CPY_IMG": clb.Clear(); clb.Assign(img.Picture.Bitmap); break;
case "CLR_CLB": clb.Clear(); tcb.Visible=icb.Visible=false; }
clb_Update(); }
|
Совместимость
C++ Builder/Delphi
|
JS+ | Руководство пользователя
|
|
|
|
|
|