BroadcastDlg.cpp
上传用户:zslianheng
上传日期:2013-04-03
资源大小:946k
文件大小:3k
源码类别:

Linux/Unix编程

开发平台:

Visual C++

  1. /***************************************************************************
  2.  *                                                                         *
  3.  *   This program is free software; you can redistribute it and/or modify  *
  4.  *   it under the terms of the GNU General Public License as published by  *
  5.  *   the Free Software Foundation; either version 2 of the License, or     *
  6.  *   (at your option) any later version.                                   *
  7.  *                                                                         *
  8.  *   copyright            : (C) 2002 by Zhang Yong                         *
  9.  *   email                : z-yong163@163.com                              *
  10.  ***************************************************************************/
  11. // BroadcastDlg.cpp : implementation file
  12. //
  13. #include "stdafx.h"
  14. #include "myicq.h"
  15. #include "BroadcastDlg.h"
  16. #include "serversession.h"
  17. #include "icqlink.h"
  18. #ifdef _DEBUG
  19. #define new DEBUG_NEW
  20. #undef THIS_FILE
  21. static char THIS_FILE[] = __FILE__;
  22. #endif
  23. /////////////////////////////////////////////////////////////////////////////
  24. // CBroadcastDlg dialog
  25. CBroadcastDlg::CBroadcastDlg(CWnd* pParent /*=NULL*/)
  26. : CMyDlg(CBroadcastDlg::IDD, pParent), IcqWindow(WIN_BROADCAST_MSG)
  27. {
  28. //{{AFX_DATA_INIT(CBroadcastDlg)
  29. m_text = _T("");
  30. //}}AFX_DATA_INIT
  31. m_expire = CTime::GetCurrentTime();
  32. }
  33. void CBroadcastDlg::onAck(uint32 seq)
  34. {
  35. DestroyWindow();
  36. }
  37. void CBroadcastDlg::onSendError(uint32 seq)
  38. {
  39. myMessageBox(IDS_TIMEOUT, IDS_FAILED, this, MB_OK | MB_ICONERROR);
  40. enableControls(TRUE);
  41. }
  42. void CBroadcastDlg::enableControls(BOOL enable)
  43. {
  44. GetDlgItem(IDC_EXPIRE)->EnableWindow(enable);
  45. m_textEdit.SetReadOnly(!enable);
  46. GetDlgItem(IDC_SEND)->EnableWindow(enable);
  47. }
  48. void CBroadcastDlg::DoDataExchange(CDataExchange* pDX)
  49. {
  50. CMyDlg::DoDataExchange(pDX);
  51. //{{AFX_DATA_MAP(CBroadcastDlg)
  52. DDX_Control(pDX, IDC_TEXT, m_textEdit);
  53. DDX_MonthCalCtrl(pDX, IDC_EXPIRE, m_expire);
  54. DDX_Text(pDX, IDC_TEXT, m_text);
  55. //}}AFX_DATA_MAP
  56. }
  57. BEGIN_MESSAGE_MAP(CBroadcastDlg, CMyDlg)
  58. //{{AFX_MSG_MAP(CBroadcastDlg)
  59. ON_BN_CLICKED(IDC_SEND, OnSend)
  60. //}}AFX_MSG_MAP
  61. END_MESSAGE_MAP()
  62. /////////////////////////////////////////////////////////////////////////////
  63. // CBroadcastDlg message handlers
  64. void CBroadcastDlg::PostNcDestroy() 
  65. {
  66. delete this;
  67. }
  68. void CBroadcastDlg::OnSend() 
  69. {
  70. UpdateData();
  71. seq = serverSession()->broadcastMsg(MSG_TEXT, m_expire.GetTime(), m_text);
  72. enableControls(FALSE);
  73. }