teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

結論を記載しました。

2021/04/30 01:31

投稿

退会済みユーザー
answer CHANGED
@@ -2,4 +2,6 @@
2
2
 
3
3
  厳密に丸いボタンの領域内をクリックされたときだけボタンクリック操作をさせたい場合はsin,cosとか駆使して丸い領域の範囲を計算してやる必要があります。通常、四角形の領域のマウスクリックに反応する仕組みでも誤魔化せるので四角形の領域で問題ありません。
4
4
 
5
- ちなみにC言語にはマウスクリックイベントをキャッチする機能は標準では用意されていないので、マウスのデバイスドライバーを叩いてマウスクリックイベントをキャッチするイベントハンドラをフルスクラッチで実装する必要があります。
5
+ ちなみにC言語にはマウスクリックイベントをキャッチする機能は標準では用意されていないので、マウスのデバイスドライバーを叩いてマウスクリックイベントをキャッチするイベントハンドラをフルスクラッチで実装する必要があります。
6
+
7
+ 本当にC言語で実装しようとすると上記のようなことになります。

2

詳しく書き直し

2021/04/30 01:31

投稿

退会済みユーザー
answer CHANGED
@@ -1,3 +1,5 @@
1
1
  丸い絵を描いた画像をロードして、その画像を表示したウインドウのマウスクリックイベントをキャッチして、イベントハンドラの中でマウスクリックされた座標を判定して、その座標が(四角形の)画像領域内のとき、ボタンクリック時の動作を行う。
2
2
 
3
+ 厳密に丸いボタンの領域内をクリックされたときだけボタンクリック操作をさせたい場合はsin,cosとか駆使して丸い領域の範囲を計算してやる必要があります。通常、四角形の領域のマウスクリックに反応する仕組みでも誤魔化せるので四角形の領域で問題ありません。
4
+
3
5
  ちなみにC言語にはマウスクリックイベントをキャッチする機能は標準では用意されていないので、マウスのデバイスドライバーを叩いてマウスクリックイベントをキャッチするイベントハンドラをフルスクラッチで実装する必要があります。

1

補足を追記しました。

2021/04/30 01:27

投稿

退会済みユーザー
answer CHANGED
@@ -1,1 +1,3 @@
1
- 丸い絵を描いた画像をロードして、その画像を表示したウインドウのマウスクリックイベントをキャッチして、イベントハンドラの中でマウスクリックされた座標を判定して、その座標が(四角形の)画像領域内のとき、ボタンクリック時の動作を行う。
1
+ 丸い絵を描いた画像をロードして、その画像を表示したウインドウのマウスクリックイベントをキャッチして、イベントハンドラの中でマウスクリックされた座標を判定して、その座標が(四角形の)画像領域内のとき、ボタンクリック時の動作を行う。
2
+
3
+ ちなみにC言語にはマウスクリックイベントをキャッチする機能は標準では用意されていないので、マウスのデバイスドライバーを叩いてマウスクリックイベントをキャッチするイベントハンドラをフルスクラッチで実装する必要があります。