プロが教える店舗&オフィスのセキュリティ対策術

winプログラムを始めて間がない初心者ですが、よろしくお願いします。

ダイアログ上に、ビットマップ画像を使ってボタンを作成するために、
MFCのCButtonのオーナー描画 や CBitmapButtonを使ってボタンコントロールを作成したところ、
ボタンの反応速度が遅く、連続でクリックが出来なくて、困っています。
反応速度の早いボタンコントロールを作成するには、どうすれば良いのでしょうか?

A 回答 (1件)

オーナー描画で連続クリックした場合、2回目のクリックがダブルクリックとして


判断されているために、反応速度が遅く見えていると思われます。

CButtonクラスを派生させて描画していると思いますので、そのソースに
PreTranslateMessageをオーバーライドし、ダブルクリックのメッセージを
クリックとして処理させれば連続クリックも早く反応すると思います。
BOOL CButtonBase::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_LBUTTONDBLCLK){
SendMessage(WM_LBUTTONDOWN, pMsg->wParam, pMsg->lParam);
return TRUE;
}

return CButton::PreTranslateMessage(pMsg);
}
    • good
    • 0
この回答へのお礼

感激です(^^;
dannerさんの回答で、問題解決できました。
本当にありがとうございました。

お礼日時:2001/10/21 12:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!