i have used OnNcPaint to diplay text init using the following code. Code: void CMainWnd::OnNcPaint( ) { HDC dc = GetWindowDC()->m_hDC; RECT rectWnd = {800,4,880,23}; FillRect(dc, &rectWnd, (HBRUSH)GetStockObject(DKGRAY_BRUSH)); SetBkMode(dc, TRANSPARENT); SetTextColor(dc, RGB(255, 0,0)); DrawText(dc, "MY TIME", strlen("My TIME"), &rectWnd, 0); ::ReleaseDC(m_hWnd,dc); } and used timer to show the time in any active window using the following code Code: void CMainWnd::OnTimer(UINT_PTR nIDEvent) { HWND hWnd; hWnd = ::GetForegroundWindow(); CWnd *pWnd; pWnd = CWnd::FromHandle(hWnd); CTime Time = CTime::GetCurrentTime(); CString strTime=Time.Format("%H:%M:%S"); pWnd->SetWindowText(strTime); } the problem is i want to place the updated time(IN TIMER) in the place of "MY TIME" . HOW TO DO THAT. i am unable to integrate them both. PLZ HELP ME.
In the class CMainWnd Define the member variable CString strTime and assigning it in OnTimer will update it and NCPaint will Display it. Remember there can be painting issue of the Non-Client Window
there are painting issues as u said. how to solve them.is there any simple method can i use DrawText to display upadated time. my require output is towards rightside of window. plz help