ダイアログの一部を切取る方法ありませんか? – プログラミング – Home

ダイアログの一部を切取る方法ありません...
 
通知
すべてクリア

[解決済] ダイアログの一部を切取る方法ありませんか?


TAKA
 TAKA
(@TAKA)
ゲスト
結合: 23年前
投稿: 117
Topic starter  

こんにちは、出来るかどうか分からないことが出来たので
質問したいと思います。

開発環境:Win2000、VC++6.0

ダイアログ上にある座標の一部を押下した時、
そこに表示されているダイアログを切り取って
BITMAPとして保存したいのです。

ダイアログが全て画面に表示されている状態の
時はダイアログの範囲からその位置を割り出し、
切取れたのですが、切取る範囲の一部でも画面
外であったり、ダイアログを小さくして表示さ
れていなかったりすると、最上面の画像が切取
られてしまいます。

そこで、ダイアログ自身のデータをそのまま切
取るいい方法をどなたかご存知ないでしょうか?


引用未解決
トピックタグ
いもちぃ
 いもちぃ
(@いもちぃ)
ゲスト
結合: 23年前
投稿: 70
 

>ダイアログ上にある座標の一部を押下した時、
>そこに表示されているダイアログを切り取って
>BITMAPとして保存したいのです。

何がしたいか読み取れないのは私だけでしょうか・・。
ダイアログ上にある、座標の一部を、押下?
ダイアログ上に、ある座標の一部を、押下?
てか、座標の一部ってなんでしょか。。。


返信引用
TAKA
 TAKA
(@TAKA)
ゲスト
結合: 23年前
投稿: 117
Topic starter  

いもちぃさん、返事ありがとうございます。

>ダイアログ上にある座標の一部を押下とは
ダイアログ上にある、一定エリア内の一点と言うことです・・・。

たとえば、グループボックス内のどこかを押下すると、
囲まれたボタンやエディットボックス等を含めてBITMAP
として切取るのです。


返信引用
さなえ
 さなえ
(@さなえ)
ゲスト
結合: 23年前
投稿: 24
 

何がしたいかわからなくはないけど
切り取るとは言わないと思うし
「出来るかどうか分からないことが出来たので」って
日本語が変。(と思うのは私が標準語しゃべれないから?)

>ダイアログが全て画面に表示されている状態の
>時はダイアログの範囲からその位置を割り出し、
>切取れたのですが、切取る範囲の一部でも画面

どうやって?(きいても私にはわからないと思うけど)

ダイアログの表示位置によってうまくいかないのなら
無理やりMoveWindowとかで画面内に動かして
BITMAP保存後 元の位置に戻したら・・・?
(見目麗しくはないけれど)


返信引用
TAKA
 TAKA
(@TAKA)
ゲスト
結合: 23年前
投稿: 117
Topic starter  

さなえさん、返事ありがとうございます。

画面上に表示されているものの場合はプリントスクリーン
みたいな感じで取得できます。

>ダイアログの表示位置によってうまくいかないのなら
>無理やりMoveWindowとかで画面内に動かして
>BITMAP保存後 元の位置に戻したら・・・?
 MDIの開発なので、親フレームが切取りたい範囲よりも
小さいと、親フレームも大きくしないといけなくなり・・
ちょっといい方法だと思えないのです。
 やはり、ダイアログから直接切取れると嬉しいのです。


返信引用
PAI
 PAI
(@PAI)
ゲスト
結合: 23年前
投稿: 359
 

表示できていないものが、
仮に表示できていたとしたらどうだったか、ってことですか?

同じようなことをしようとして挫折した記憶があります。
何とか一瞬だけ移動させて、とかしかないような気がします。


返信引用
TAKA
 TAKA
(@TAKA)
ゲスト
結合: 23年前
投稿: 117
Topic starter  

PAI さん、返事ありがとうございます。

いろいろ調べたのですが分からなかったのです・・。
やはり無理なのでしょうか?
とりあえず、もう少し待ってみます。


返信引用
いもちぃ
 いもちぃ
(@いもちぃ)
ゲスト
結合: 23年前
投稿: 70
 

あ、無理でしょ。
BitBlt関数自体が、OS内部でビデオドライバに丸投げする関数です。
ビデオドライバは、ハードに丸投げもしくはソフト的に一生懸命
処理します。
どっちにしても、OSしか知らない「もし表示されていたら」を
ドライバなりハードが知る由もなく、「んなことできっか~!」と
キレられて終わりです。はい。<画面外にしても、MDIんときの
ウィンドウ外にしても。


返信引用
TAKA
 TAKA
(@TAKA)
ゲスト
結合: 23年前
投稿: 117
Topic starter  

いもちぃさん、またまたありがとうございます。

やはりそうですか、そう思ったのですがとりあえず
他に方法があるか知りたかったので・・・。
ありがとうございます。

切取られるエリアが全て表示されている時のみ
出来るようにする方法で考えるようにします。

レスすれた方、ありがとうございましたm(_ _)m


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました