mfc-ml

1998年07月

31

[mfc 9371] Re: ツールバーのボタンの大きさを変えたい(リトライ)

桜井様、ハルキ様、神話様(←かっこいいハンドル!)、
RES有り難う御座いました。

ハルキ様のおっしゃることで、はっ、としました。

思いっきりCreateの前で実行してます。

ただ、一言だけ、言い訳させてください。
よく調べるべきだったことをあえて棚に上げて
言い訳すると、このコード、
雑誌に書いてあったコードなんです。
だから、いよいよ自分では手の届かない
深淵な理由なんだろうな、とか思ってしまいました。

とにかく、ありがとうございました。

-----------------------------------------
Hiroaki Yabushita (mailto:m...@ipc-tokai.or.jp)
31

[mfc 9371] Re: ツールバーのボタンの大きさを変えたい(リトライ)

桜井様、ハルキ様、神話様(←かっこいいハンドル!)、
RES有り難う御座いました。

ハルキ様のおっしゃることで、はっ、としました。

思いっきりCreateの前で実行してます。

ただ、一言だけ、言い訳させてください。
よく調べるべきだったことをあえて棚に上げて
言い訳すると、このコード、
雑誌に書いてあったコードなんです。
だから、いよいよ自分では手の届かない
深淵な理由なんだろうな、とか思ってしまいました。

とにかく、ありがとうございました。

-----------------------------------------
Hiroaki Yabushita (mailto:m...@ipc-tokai.or.jp)
31

[mfc 9370] RE: [mfc 9369] Q?マウスがView外に移動したことを知る方法

いい方法かどうかわかりませんが、SetCapture() という関数があります。
この関数をLBUTTON_DOWNのハンドラに書いてやれば、Viewの圏外に
でてもMOUSE_MOVEイベントが上がってきます。
ただし、このときのポジションはビューのRectのサイズより大きくなっています。
(上方向ならマイナスの値になっています)
これで、ビューの圏外にでたかどうかは分かると思います。
CMyView::OnLButtonDown( ......... )
{
    :
    :
    SetCapture();
}
たしか、こんな風だったと思います。
また、SetCapture()を行うとどこかで ReleaseCapture() をやってやらないと
いけないのですが、まあマウスの左ボタンがあがったときとか、いろいろ
あると思います。
以上ですが、お役に立ちましたでしょうか?

Naka
31

[mfc 9370] RE: [mfc 9369] Q?マウスがView外に移動したことを知る方法

いい方法かどうかわかりませんが、SetCapture() という関数があります。
この関数をLBUTTON_DOWNのハンドラに書いてやれば、Viewの圏外に
でてもMOUSE_MOVEイベントが上がってきます。
ただし、このときのポジションはビューのRectのサイズより大きくなっています。
(上方向ならマイナスの値になっています)
これで、ビューの圏外にでたかどうかは分かると思います。
CMyView::OnLButtonDown( ......... )
{
    :
    :
    SetCapture();
}
たしか、こんな風だったと思います。
また、SetCapture()を行うとどこかで ReleaseCapture() をやってやらないと
いけないのですが、まあマウスの左ボタンがあがったときとか、いろいろ
あると思います。
以上ですが、お役に立ちましたでしょうか?

Naka
31

[mfc 9369] Q?マウスがView外に移動したことを知る方法

環境:VC++4.0,Win95,MDIプログラム
 CView派生クラスのなかのラインをWM_LBUTTONDOWNで捕捉し
(m_fLBDown(「LBUTTONDOWNした」フラグ)セット),WM_MOUSEMOVEで動かし,WM_LBU
TTONUP(m_fLBDownクリア)で移動を完了しています。
この場合,ラインを移動中にマウスカーソルがView圏外に出て,
そこでLBUTTONUPし,またView圏内に戻ると,ボタンを押していないにも関わらず,
ラインが移動してしまいます。これは,View圏外でLBUTTONUPしても
それでViewのWM_LBUTTONUPが呼ばれずm_fLBDownがクリアされないからです。
それで,マウスが圏外に出たとき,m_fLBDwonをクリアしたいのですが
方法がわかりません。よろしくご教授下さい。

ピーマン
記事検索
Amazon.co.jp
  • ライブドアブログ