掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
一度待避したクリップボードの内容を復元するには? (ID:18345)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> > Stream.Write(uiFormatId, SizeOf(uiFormatId)); > ここは何をしているのでしょうか? > (ヘルプを見ると、「Write メソッドは,ストリームにデータを書き込むための抽象メソッドを > 導入します。」とありますが、なんとも理解不能でありまして) 読んだそのままです。 uiFormatIdの内容をStreamに書き込みます。 TStreamは基底クラスなので、実装はその継承クラスがおこなっています。 Writeメソッドは、指定されたデータを「書き込む」というメソッドです。 この「書き込む」が抽象化されていて、たとえば TMemoryStream・・・メモリに書き込む TFileStream・・・ファイルに書き込む というように、継承クラスの実装によって振る舞いが変わってきます。 > 単純に、クリップボードの内容を待避してすぐ戻してみようと以下の処理を行ってみました、 > うまく動きません。どのようのすればよろしいのでしょうか? では、簡単な例を。 # ここでは、メモリに確保し、復元する方法。 1.TForm1の、Private宣言に、ms: TMemoryStream;を用意する。 { Private宣言 } ms: TMemoryStream; 2.TForm1のOnCreateイベントで、msのインスタンスを生成する。 ms := TMemoryStream.Create; 3.TForm1.のOnDestroyイベントで、msのインスタンスを破棄する。 ms.Free; 4.Button1のOnClickイベントで、クリップボードを待避する。 procedure TForm1.Button1Click(Sender: TObject); begin ms.Clear; //確保したMemoryStreamのクリア ClipboardSaveToStream(ms); //待避 end; 5.Button2のOnClickイベントで、クリップボードを復元する。 procedure TForm1.Button2Click(Sender: TObject); begin ms.Seek(0, soFromBeginning); //MemoryStreamの巻き戻し ClipboardLoadFromStream(ms); //復元 end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.