Last Updated 2005/02/09 |
Programming Tips Windows クリップボード | 索 引 |
クリップボードを使う
2005/02/09
クリップボードのテキストデータを取得する. クリップボードにアクセスする前にテキストデータが入っているかどうか確認するとよい.確認は IsClipboardFormatAvailable() を使用する. クリップボードからテキストデータを取得するには以下の様にする.
逆にクリップボードへコピーする場合はちゃんとメモリを確保してやる必要がある.(GlobalAlloc() で確保,GlobalLock() で使用) (解放は GlobalFree() と GlobalUnlock()) (クリップボードから取得する時にはメモリブロックはクリップボードが持っているので GlobalAlloc() などが必要ない) 相手がクリップボードということになれば,メモリを確保してクリップボードに転送すれば,メモリブロックはクリップボードのものとなるから GlobalFree() は必要ない. (GlobalAlloc() を使用して割り当てたメモリは SetClipboardData() を呼び出したあとハンドルを触ってはいけない) (クリップボードに転送できなかった場合は GlobalFree() が必要になる) まとめると以下のようになる.
GlobalAlloc() する場合,GHND | GMEM_DDESHARE の方がよい(かもしれない) 参照 ビットマップをクリップボードに転送 クリップボードのリッチテキスト |
|