スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
line

クリックを感知

プログラムその1
(メイン部分)


プログラムその2
(非クライアント領域[フォームの枠]でのクリックを考慮していないフォーム部分)


プログラムその3
(非クライアント領域[フォームの枠]でのクリックを想定したフォーム部分)


実行結果
無題

C#でのクリック感知プログラムです。


プログラムを実行するだけならプログラムその1とその2をコピペで動きます。
ただ、枠のクリックも考慮するならプログラムその3が必要になりますです。


枠のクリックに関してはフォームの枠の判定あれこれで紹介した方法を使用すれば出来ます。
一応プログラムは作りましたがね。


あまり凝った作りにしないのであれば考慮しない普通の作りでいいと思いますハイ。
スポンサーサイト
line

フォームの枠の判定あれこれ

プログラム全文


実行結果
無題


実行結果からわかるように枠をクリックしたら反応するようなプログラムです。
(正確にいうと非クライアント領域でクリックしたら、ですが)

反応は右、左クリックのみです。面倒くさい出来る限り短縮したいと思い二つだけにしました。

このプログラムはウィンドウメッセージを受け取るWndProcメソッドをオーバーライドしています。
オーバーライドについてはここでは詳しく説明しません;自分が説明するより良い説明をしてくださるサイト様いっぱいありますし


プログラム中のWM_NCLBUTTONDOWNとかWM_NCRBUTTONDOWNってのはWin32メッセージと呼ばれるものです
C++やCでWindowプログラミングをしたことのある人はわかるかと思われますがC#単体だと結構わからない人多いかも

一応Win32メッセージとその数値一覧があるサイト様
WisdomSoft
Win32APIメッセージ

まぁ変数宣言しなくても直接その値書いてもかまわないんだけどね



line

カーソルの位置取得

プログラムその1
(メイン部分)

プログラムその2
(フォーム部分)


実行結果その1
無題

実行結果その2
無題2


今回は実行結果を2つ載せました
前回あまり使用しないと言っていたメインループをさっそく使用してのプログラムです
メインループについての解説?はこちらから

プログラムの詳しい解説はプログラム中のコメントにて記述しているのでそちらを参考にしていただければ・・・
とはいえ参考になるとは思ってないですがね
line

C#でのメインループ

プログラムその1
(メイン部分)


プログラムその2
(フォーム部分)


実行結果
無題


C#ではあまりゲームを作らないから普段はメインループなんて必要としないけど
たまーに必要な時が出てきたりする・・・
調べるとこんなの使わなくても出来るじゃん・・・ってものもたまーにある・・・

プログラム文をそのままで実行するなら、Form00のupdataメソッド内に何か処理を書いて、F9でブレークポイント置いてF5でデバッグするとよくわかるかもしれない・・・

1フレーム目で止まると思うよ
line
line

FC2Ad

line
プロフィール

否健康食品オワタ

Author:否健康食品オワタ
27.142.178.77 (1)
27.142.178.77 (2)

2714217877.gif

line
最新記事
line
最新コメント
line
最新トラックバック
line
月別アーカイブ
line
カテゴリ
line
検索フォーム
line
RSSリンクの表示
line
リンク
line
ブロとも申請フォーム

この人とブロともになる

line
QRコード
QR
line
sub_line
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。