StatusBar.cpp
上传用户:geanq888
上传日期:2007-01-03
资源大小:316k
文件大小:2k
源码类别:

Ftp客户端

开发平台:

Visual C++

  1. // This is a part of the Microsoft Foundation Classes C++ library.
  2. // Copyright (C) 1992-1997 Microsoft Corporation
  3. // All rights reserved.
  4. //
  5. // This source code is only intended as a supplement to the
  6. // Microsoft Foundation Classes Reference and related
  7. // electronic documentation provided with the library.
  8. // See these sources for detailed information regarding the
  9. // Microsoft Foundation Classes product.
  10. #include "stdafx.h" 
  11. #include <afxpriv.h>
  12. #include "statusbar.h"
  13. #ifdef _DEBUG
  14. #define new DEBUG_NEW
  15. #undef THIS_FILE
  16. static char THIS_FILE[] = __FILE__;
  17. #endif
  18. /////////////////////////////////////////////////////////////////////////////
  19. // CDlgStatusBar
  20. BEGIN_MESSAGE_MAP(CDlgStatusBar, CStatusBar)
  21. //{{AFX_MSG_MAP(CDlgStatusBar)
  22. ON_MESSAGE(WM_IDLEUPDATECMDUI, OnIdleUpdateCmdUI)
  23. //}}AFX_MSG_MAP
  24. END_MESSAGE_MAP()
  25.                  
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CDlgStatusBar Construction/Destruction
  28. CDlgStatusBar::CDlgStatusBar()
  29. {
  30. }
  31. CDlgStatusBar::~CDlgStatusBar()
  32. {
  33. /////////////////////////////////////////////////////////////////////////////
  34. // CDlgStatusBar::OnIdleUpdateCmdUI
  35. // OnIdleUpdateCmdUI handles the WM_IDLEUPDATECMDUI message, which is 
  36. //      used to update the status of user-interface elements within the MFC 
  37. // framework.
  38. //
  39. //  We have to get a little tricky here: CStatusBar::OnUpdateCmdUI 
  40. //      expects a CFrameWnd pointer as its first parameter.  However, it
  41. //      doesn't do anything but pass the parameter on to another function
  42. //      which only requires a CCmdTarget pointer.  We can get a CWnd pointer
  43. //      to the parent window, which is a CCmdTarget, but may not be a 
  44. //    CFrameWnd.  So, to make CStatusBar::OnUpdateCmdUI happy, we will call
  45. //      our CWnd pointer a CFrameWnd pointer temporarily.  
  46. LRESULT CDlgStatusBar::OnIdleUpdateCmdUI(WPARAM wParam, LPARAM) 
  47. {
  48. if (IsWindowVisible()) 
  49. {
  50. CFrameWnd *pParent = (CFrameWnd *)GetParent();
  51. if (pParent)
  52. OnUpdateCmdUI(pParent, (BOOL)wParam);
  53. }
  54. return 0L;
  55. }