クリップボード

Download Report

Transcript クリップボード

クリップボード
Windowsのアプリケーションでは、マウスで
選択したテキスト部分やグラフィックなどの
データを、
クリップボード
と呼ばれるメモリ領域にコピーしたり、また
他のアプリケーションがクリップボードにコ
ピーしたデータを読み出すことができま
す。
クリップボード
• BCBでのクリップボードの使用
1.Clipbrd.hpp をインクルード
2.クラスTClipboardを使用するが
そのままは使わない。
クリップボード
• TClipboardの主なメンバ関数
void __fastcall Clear(void);
void __fastcall SetTextBuf(char * Buffer);
int __fastcall GetTextBuf(char * Buffer, int BufSize);
bool __fastcall HasFormat(Word Format);
• TClipboardのプロパティ
__property System::AnsiString AsText = {read=GetAsText,
write=SetAsText};
クリップボードにテキストを入れたり,クリップボードから
テキストを取り出すことができる。
クリップボード
• プログラム例:
1.Button1をクリックしたときに、プログラム
で文字列をクリップボードにセットします:
AnsiString a;
a = "TEST for Clipboard";
Clipboard()->SetTextBuf(a.c_str());
クリップボード
• プログラム例:
2.Button2をクリックしたとき、クリップボードの内
容が文字列ならメモにコピーします。
AnsiString buf;
if (Clipboard()->HasFormat(CF_TEXT))
buf = Clipboard()->AsText;
Memo1->Lines->Add(buf);
クリップボード
• TMemoなどには、以下のようなクリップ
ボードにアクセスする関数がある。
void __fastcall CopyToClipboard(void);
void __fastcall CutToClipboard(void);
void __fastcall PasteFromClipboard(void);
クリップボード
• プログラム例:
3.Button3をクリックしたとき、Memoの
PasteFromClipboard()関数をつかって、ク
リップボードの内容をコピーします。
Memo1->PasteFromClipboard();
クリップボード
• Bitmap画像のクリップボード利用
クラスTBitmapがクリップボード操作用の
関数をもっている。
virtual void __fastcall LoadFromClipboardFormat(Word AFormat, int
AData, HPALETTE APalette);
クリップボード内のビットマップをビットマップオブジェクトにロードする。
virtual void __fastcall SaveToClipboardFormat(Word &AFormat, int
&AData, HPALETTE &APalette);
ビットマップのローカルコピーをクリップボード形式で作成する。
クリップボード