お前は今までしたコピペの数を覚えているか
覚えていないくらいCtrl+C,Vは皆さん使っていると思います。
Command+C派閥の方も同様です。
クリップボードはコードや文章のコピー、スクショの確保などを行うことができます。
あることが当たり前で、この機能が存在しない世界線は想像できません。
Windowsネイティブアプリでクリップボード周りの実装を行った際、アプリやOSはいろいろ頑張ってくれていたんだと実感したので、こちらに書いてみます。
貼り付け動作はアプリ次第
デモ
chromeからwordおよびwindows10のメモ帳にhtmlを貼り付けた際の動作を見てみましょう
wordではアイコン画像の表示やリンクの生成、フォントサイズの再現が行われていますが、メモ帳では文字のみの表示となっています。
クリップボードの中身
ツールを使って、クリップボードの中身を見てみましょう。
今回使うツールはこちら クリップ見え窓
クリップボード内は各フォーマットごとに要素が格納されています。
HTMLの場合は以下のようなデータが格納されています。
一方、TEXTは以下のようになっています。
察するに、メモ帳はこのTEXTのみ対応していて、それを読み取って表示しているようですね。
クリップボードをリッチにしたいあなたに
ネイティブアプリ内で独自の要素をクリップボード操作したい場合、Windows APIでは以下のようなAPIが用意されています。
SetClipboardData
GetClipboardData
気になる方は遊んでみてください。
まとめ
何気ないコピペ操作の裏側では日々、このようなやり取りが行われていたのです。
皆さんも色々遊んで見てください。興味深いクリップボードデータが見れるかもしれません。
Windowsおじさんで申し訳ありません。
おまけ
自分が使っているCtrl+C,X,V以外のクリップボード操作についてまとめます。
- Windows+V
クリップボード履歴を表示し、過去にコピーや切り取りをしたテキストや画像が新しい順に一覧表示できるようになります。 - PrintScreen
画面全てのスクリーンショットをクリップボードに格納します。 - Alt+PrintScreen
アクティブウィンドウのみのスクリーンショットをクリップボードに格納します。 - Windows+Shift+S
画面上任意の領域のスクリーンショットをクリップボードに格納します。
・・・ほとんどスクショやないかい。
では、良いお年を。