喫茶XRAYトップページ

[スレッド全体
]

[9682] マルチディスプレイ対応返信 削除
2016/3/31 (木) 22:27:10 Mr.XRAY
マルチディスプレイのテスト用に,15 インチのモニタ接続してみました.
何とか机の上に置けました.左側が少しプライマリモニタの後ろに隠れていますが (^^;

で,サンプルの [370] やってみました.
あれっ !?
なるほどね.左端の座標はプライマリモニタの右端の座標を加えた値なのね.
でもディスプレイのデバイスコンテキストはモニタごとですからね.
キャプチャする時は,モニタごとに 0 から開始しないといけないのね.ふ〜ん...
そういうことなのね.分かったけど...

ということで先は永くなりそうでございます.
図はサブのモニタのワークエリアをキャプチャしたものです.



[9683] はまってしまった!!返信 削除
2016/4/2 (土) 15:19:52 Mr.XRAY
マウスフックでマウスカーソルの位置を取得するコードがあるのですが,

procedure TFormMonitorImage.WMApp100(var Message: TMessage);
var
  LPos : TPoint;
begin

  LPos.X := Message.LParamLo;
  LPos.Y := Message.LParamHi
end;

というコードを使っていたのです.
LPos の値がとんでも値になるんです.
そうです.Message.LParamLo, Message.LParamHi の値は WORD 値なんです.
WORD型は16ビット符号なし整数なんです.
これに気づくまで,えらい時間がかかってしまいました.もうっ,いやっ!

で,一応マルチモニタ対応のスクリーンキャプチャできました.
これから,テスト,コード整備などします.
でも,明日にしようっと !
あっ,明日はお花見だ... (^^)

ちょっとだけ機能を追加しました.赤枠の部分です.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82