XmClipboardRetrieve(3XM) — NEWS-OS Programmer’s Manual
名称
XmClipboardRetrieve — クリップボードからデータ項目を取り出すクリップボード関数
形式
#include <Xm/Xm.h>
#include <Xm/CutPaste.h> int XmClipboardRetrieve (display, window, format_name, buffer, length, num_bytes, private_id)
Display∗ display;
Windowwindow;
char∗ format_name;
char∗ buffer;
unsigned long length;
unsigned long ∗ num_bytes;
int∗ private_id;
解説
XmClipboardRetrieve は、クリップボードの領域から現在のデータ項目を取り出します。 クリップボードがロックされているか、クリップボードにデータがないか、バッファ長が短かすぎてデータが途切れてしまうような時は警告を返します。
XmClipboardStartRetrieve への呼び出しと XmClipboardEndRetrieve への呼び出しの間に、 同じフォーマット名で XmClipboardRetrieve を複数回呼び出すと、そのフォーマットのデータがすべてコピーされるまでは連続してクリップボードからコピーされます。
XmClipboardRetrieve のリターン値が ClipboardTruncate の時は、与えられたフォーマットでコピーできるデータがまだ残っていることを示しています。 アプリケーションがクリップボードからのコピーで必要とする Inquire 関数への呼び出しは、ClipboardStartRetrieve への呼び出しと最初の XmClipboardRetrieve への呼び出しとの間で行うことをおすすめします。 そうすれば、アプリケーションが XmClipboardLock と XmClipboardUnlock を呼び出す必要がありません。 アプリケーションは、XmClipboardStartRetrieve と XmClipEndRetrieve を使う必要はなく、その場合も XmClipboardRetrieve は以前のように働きます。
display以前の XOpenDisplay または XtDisplay の呼び出しで返された Display 構造体へのポインタを指定します。
windowアプリケーションウィンドウとクリップボードとを関係づけるための widget のウィンドウ ID を指定します。 widget のウィンドウ ID は XtWindow を用いることによって得られます。 同じアプリケーションインスタンスは、呼び出す各クリップボード関数に対して同じウィンドウ ID を渡さなければなりません。
format_nameクリップボードにおかれるデータのフォーマット名を指定します。
bufferアプリケーションがクリップボードにデータをコピーさせるためのバッファを指定します。
lengthアプリケーションのバッファの長さを指定します。
num_bytesアプリケーションのバッファにコピーされたデータのバイト数を示します。
private_idクリップボードにデータ項目をおいたアプリケーションが、データ項目と共に格納したプライベートデータを示します。 アプリケーションがデータ項目と共にプライベートデータを格納しなかった場合は、この引数にはゼロが返ります。
リターン値
ClipboardSuccess
関数の実行に成功しました。
ClipboardLocked
クリップボードが他のアプリケーションにロックされているため、関数の実行に失敗しました。 アプリケーションはロックが解除されるまで同じ引数で何度も関数を呼び続けることができます。 このことを利用して、アプリケーションはユーザに操作を試み続けるかあきらめるかたずねることができます。
ClipboardTruncate
データを入れるのに十分な大きさのバッファをユーザが用意しなかったため、返されたデータが途切れてしまいました。
ClipboardNoData
要求されたフォーマットに対応するデータが、クリップボードに見つかりませんでした。 このことは、クリップボードが空であるか、クリップボードにデータはあるが要求されたフォーマットでは存在しなかったか、要求されたフォーマットのデータが名前で渡されたものですでに利用できないような場合に起きます。
関連事項
XmClipboardEndRetrieve(3XM), XmClipboardLock(3XM), XmClipboardStartCopy(3XM), XmClipboardStartRetrieve(3XM), XmClipboardUnlock(3XM)
NEWS-OSRelease 4.1C