VC6、MFC、SDI、CFormViewを使ってアプリケーションを作成しています。
データ受信中などイベント発生時に画面上に点滅するボタンをつけたいのですが、
簡単な方法はないでしょうか?
また、そのようなコントロールはないのでしょうか?
ご教授願います。
こんにちは、
タイマーを使用して表示・非表示を切り換えてはどうですか?
void CTimerView::OnStart()
{
m_bBlinkFlg = FALSE;
this->SetTimer( 1, 500, NULL );
}
void CTimerView::OnEnd()
{
this->KillTimer(1);
m_wndLamp.ShowWindow( SW_HIDE );
}
void CTimerView::OnTimer(UINT nIDEvent)
{
if( m_bBlinkFlg ) m_wndLamp.ShowWindow( SW_HIDE );
else m_wndLamp.ShowWindow( SW_SHOW );
m_bBlinkFlg = !m_bBlinkFlg;
CFormView::OnTimer(nIDEvent);
}
ダイアログバーを生成して、そこにボタンをはりつけて色をつけてみました。
ただ、そのボタンはボタンとしての機能ではなく、あくまで、イベントが発生した
という判別だけに使用したいと思っています。
現状だと、ボタンが押せてしまうのですが、(何も処理しませんが。。。)
ボタンを無効にすると、ボタンの色が出ないような気がしますし。。。
無効にせずにボタンを押せなくする方法ってあるのでしょうか?
オーナー描画するとか、
スタティックコントロールにするとか、
アニメーションコントロールが使えるかもしれません。
イベントが発生したという判別だけに使いたいのならば
ボタンコントロールではなく、ラベルコントロールを
モーダルフレームで表示するという方法があるんですがどうでしょう?