デスクトップの枠

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
釣り師

デスクトップの枠

#1

投稿記事 by 釣り師 » 15年前

またまたすみません。

いま時計をつくっていて、大体骨組みは完成しました。
時計なので、デスクトップの隅などに自由に置けて、かつ、目障りにならないようにしたいです。
SetWindowStyleMode(4);
で、邪魔なウィンドウの枠を消しました。すると、今度はウィンドウを全く動かせなくなってしまいました。
邪魔なウィンドウの枠を消してウィンドウを自由に動かせるようにするにはどのようにしたらいいですか?
どなたか分かる人、お願いします。

VC++2010
DxLibを使用です。

シエル

Re:デスクトップの枠

#2

投稿記事 by シエル » 15年前

DXライブラリか。。.
ウィンドウプロシージャでメッセージを処理できれば余裕なんだけどなぁ。

DXライブラリはさっぱり分かりませんので、
DXライブラリにどんなマウス関連の関数があるのかわかりませんが、
ウィンドウ内にマウスがあり、クリックしていたら、
マウスの移動量だけ移動した方向に動かせばいいと思います。

DXライブラリにマウスのクリック判定、マウスの移動量等を求める関数があればの話ですけど。 画像

シエル

Re:デスクトップの枠

#3

投稿記事 by シエル » 15年前

あ、座標さえ求められれば、移動量は求められますね。

ISLe

Re:デスクトップの枠

#4

投稿記事 by ISLe » 15年前

メインループの中に
if (GetMouseInput() & 1) { /* 左クリックで */
    /* ウインドウ枠をクリックしたと思わせる */
    SendMessage(GetMainWindowHandle(), WM_NCLBUTTONDOWN, HTCAPTION, 0);
}
というコードを入れてみてください。

釣り師

Re:デスクトップの枠

#5

投稿記事 by 釣り師 » 15年前

みなさん回答ありがとうございます!
おかげで出来ました。ありがとうございます!
動かすことはできたのですが、移動中に、時刻の描画の処理が止まってしまいます。

ウィンドウの移動中にも処理を続けさせることのできる関数はありませんか?
調べてはみたんですが…。いまいち見つからなくて。

シエル

Re:デスクトップの枠

#6

投稿記事 by シエル » 15年前

ウィンドウプロシージャ側が処理中だから仕方がないかと。
スレッドで対応するしかないでしょうね。

釣り師

Re:デスクトップの枠

#7

投稿記事 by 釣り師 » 15年前

そうですか…。
スレッドについてはまた今度学習してみます。

一応、本題については解決しましたので。有難うございました!

閉鎖

“C言語何でも質問掲示板” へ戻る