ShowBroadcastDialog.cpp
上传用户:popouu88
上传日期:2013-02-11
资源大小:2894k
文件大小:3k
源码类别:

IP电话/视频会议

开发平台:

Visual C++

  1. // ShowBroadcastDialog.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "conference.h"
  5. #include "ShowBroadcastDialog.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. extern CConferenceApp theApp;
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CShowBroadcastDialog dialog
  14. CShowBroadcastDialog::CShowBroadcastDialog(CWnd* pParent /*=NULL*/)
  15. : CDialog(CShowBroadcastDialog::IDD, pParent)
  16. {
  17. //{{AFX_DATA_INIT(CShowBroadcastDialog)
  18. //}}AFX_DATA_INIT
  19. }
  20. void CShowBroadcastDialog::DoDataExchange(CDataExchange* pDX)
  21. {
  22. CDialog::DoDataExchange(pDX);
  23. //{{AFX_DATA_MAP(CShowBroadcastDialog)
  24. //}}AFX_DATA_MAP
  25. }
  26. BEGIN_MESSAGE_MAP(CShowBroadcastDialog, CDialog)
  27. //{{AFX_MSG_MAP(CShowBroadcastDialog)
  28. ON_WM_NCHITTEST()
  29. ON_WM_PAINT()
  30. //}}AFX_MSG_MAP
  31. ON_MESSAGE( WM_BROADCLOSE , OnBroadClose )
  32. END_MESSAGE_MAP()
  33. /////////////////////////////////////////////////////////////////////////////
  34. // CShowBroadcastDialog message handlers
  35. bool CShowBroadcastDialog::Create( CWnd * pParent )
  36. {
  37. return CDialog::Create( CShowBroadcastDialog::IDD , pParent );
  38. }
  39. BOOL CShowBroadcastDialog::OnInitDialog() 
  40. {
  41. CDialog::OnInitDialog();
  42. this->MoveWindow( 0 , 0 , ::GetSystemMetrics( SM_CXSCREEN ) , ::GetSystemMetrics( SM_CYSCREEN ) );
  43. return TRUE;
  44. }
  45. void CShowBroadcastDialog::OnCancel( void )
  46. {
  47. this->SendMessage( WM_CLOSE );
  48. }
  49. LRESULT CShowBroadcastDialog::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
  50. {
  51. if( message == WM_CLOSE  )
  52. {
  53. if( MessageBox( "正在接听广播,确定要退出吗?" , "视频会议" , MB_ICONQUESTION | MB_OKCANCEL ) == IDOK )
  54. {   //关闭窗口 
  55. delete this; 
  56. ::Sleep( 100 );
  57.             //停止广播
  58. theApp.GetClient( ).StopBroadCast( );
  59. }
  60. return NULL;
  61. }
  62. return CDialog::WindowProc(message, wParam, lParam);
  63. }
  64. UINT CShowBroadcastDialog::OnNcHitTest(CPoint point) 
  65. {
  66. UINT nHitTest = CDialog::OnNcHitTest(point);
  67. return nHitTest == HTCAPTION ? HTCLIENT : nHitTest;
  68. }
  69. void CShowBroadcastDialog::OnBroadClose( void )
  70. {
  71. delete this;
  72. CTipDialog::ShowTip( "广播结束" );
  73. }
  74. void CShowBroadcastDialog::OnPaint() 
  75. {
  76. CPaintDC dc( this ); 
  77. CRect rc , rcText;
  78. dc.GetClipBox( &rc );
  79. dc.FillSolidRect( &rc , RGB( 10 , 10 , 10 ) );
  80. CString text = "无视频信号nn按 Esc 退出广播";
  81. //计算矩形
  82. dc.DrawText( text , &rcText , DT_CALCRECT | DT_WORDBREAK );
  83. rcText.OffsetRect( ( rc.Width( ) - rcText.Width( ) ) / 2 , ( rc.Height( ) - rcText.Height( ) ) / 2 );
  84. dc.SetBkMode( TRANSPARENT );
  85. dc.SetTextColor( RGB( 255 , 0 , 0 ) );
  86. dc.DrawText( text , &rcText , DT_VCENTER | DT_CENTER | DT_WORDBREAK );
  87. }