48template<
typename TYP = CStatic>
64 void SetTiming(DWORD postDrawTiming, DWORD lastDrawInterval)
66 m_postDrawTiming = postDrawTiming;
67 m_lastDrawInterval = lastDrawInterval;
76 if ( _super::GetRedraw() )
78 _super::SetRedraw(FALSE);
80 _super::SetTimer(TIMERID_LAST, m_lastDrawInterval, NULL);
81 if ( ! m_isOnRedrawTimer )
83 m_isOnRedrawTimer =
true;
84 _super::SetTimer(TIMERID_POST, m_postDrawTiming, NULL);
95 _super::SetWindowText(lpszString);
104 m_isOnRedrawTimer =
false;
105 _super::KillTimer(TIMERID_POST);
106 _super::KillTimer(TIMERID_LAST);
107 _super::SetRedraw(TRUE);
108 _super::Invalidate(FALSE);
109 _super::UpdateWindow();
121 m_isOnRedrawTimer =
false;
122 _super::PreSubclassWindow();
134 virtual LRESULT
WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
136 if ( message == WM_TIMER )
138 if ( wParam == TIMERID_POST )
140 _super::KillTimer(TIMERID_POST);
141 m_isOnRedrawTimer =
false;
142 _super::SetRedraw(TRUE);
143 _super::RedrawWindow(NULL, NULL, RDW_INVALIDATE | RDW_UPDATENOW);
144 _super::SetRedraw(FALSE);
145 _super::SetTimer(TIMERID_LAST, m_lastDrawInterval, NULL);
147 else if ( wParam == TIMERID_LAST )
150 _super::KillTimer(TIMERID_LAST);
151 _super::SetRedraw(TRUE);
152 _super::RedrawWindow(NULL, NULL, RDW_INVALIDATE | RDW_UPDATENOW);
155 return _super::WindowProc(message, wParam, lParam);
161 TIMERID_POST = 20001,
162 TIMERID_LAST = 20002,
164 bool m_isOnRedrawTimer;
165 DWORD m_postDrawTiming;
166 DWORD m_lastDrawInterval;
void SetWindowText(LPCTSTR lpszString)
[設定] ウィンドウタイトル設定.
void UpdateWindow(void)
[処理] 再描画.
void SetTiming(DWORD postDrawTiming, DWORD lastDrawInterval)
[設定] タイミング設定.
void DelayedRedraw(void)
[設定] 遅延再描画指定.
CDelayedRedrawAddinT(void)
コンストラクタ
virtual void PreSubclassWindow(void)
[通知] subclassing/unsubclassing functions.
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
[通知] for processing Windows messages.