|
|
||||
Tips > |
|||||
CountClipboardFormats で Clipbrd のフォーマット数取得 |
更新 : 2014/10/04 |
||||
|
|
||
解説: データをコピーすると、クリップボードに複数の形式でデータがコピーされます。 これは、アプリケーションができるだけデータを受け取れるように、さまざまな形式でクリップボードへデータが転送されるからです。 クリップボードに格納された、これらの情報の数を知りたい場合どうすればいいでしょう。 C++Builder には FormatCount というプロパティで調べることができます。 Win32API にも CountClipboardFormats という同じような関数があります。 今回は、CountClipboardFormats 関数を使ってコーディングしてみます。 ちょっと寄り道: int CountClipboardFormats(VOID); 戻り値 関数が成功すると、クリップボードのデータ形式の数が返ります。 関数が失敗すると、0 が返ります。 使用例: まずは何かのデータをコピーしておきます。次にアプリケーションを起動して Button をクリックすると、Label にクリップボードに格納された情報の形式の数が表示されます。 準備としては、Button、Label を適当に配置するだけです。 Button1 の OnClick イベントで CountClipboardFormats 関数を使ってクリップボードに格納されている情報の形式の数を取得しています。結果を Label1 に表示します。 ここでは、Win32API の関数を使ったコーディングをしましたが、VCL の FormatCount プロパティでコードを書いてみることもお勧めします。 //------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { int num = CountClipboardFormats(); Label1->Caption = IntToStr(num); } //------------------------------------------------------------------- |