ButtonDlg.cpp 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. // ButtonDlg.cpp : 实现文件
  2. //
  3. #include "stdafx.h"
  4. #include "ButtonDlg.h"
  5. #include "resource.h"
  6. // CButtonDlg 对话框
  7. IMPLEMENT_DYNAMIC(CButtonDlg, CDlgControlItem)
  8. CButtonDlg::CButtonDlg(CWnd* pParent /*=NULL*/)
  9. : CDlgControlItem(IDD_BUTTON, pParent)
  10. {
  11. }
  12. CButtonDlg::~CButtonDlg()
  13. {
  14. }
  15. void CButtonDlg::DoDataExchange(CDataExchange* pDX)
  16. {
  17. CDlgControlItem::DoDataExchange(pDX);
  18. DDX_Control(pDX,IDC_BUTTON2,m_Button2);
  19. DDX_Control(pDX,IDC_BUTTON3,m_Button3);
  20. DDX_Control(pDX,IDC_BUTTON4,m_Button4);
  21. DDX_Control(pDX,IDC_CHECK3,m_Button5);
  22. DDX_Control(pDX,IDC_RADIO6,m_Button6);
  23. DDX_Control(pDX,IDC_BUTTON5,m_Button7);
  24. DDX_Control(pDX,IDC_BUTTON6,m_Button8);
  25. DDX_Control(pDX,IDC_BUTTON7,m_Button9);
  26. }
  27. BEGIN_MESSAGE_MAP(CButtonDlg, CDlgControlItem)
  28. //ON_BN_CLICKED(IDC_BUTTON1, &CButtonDlg::OnBnClickedButton1)
  29. ON_BN_CLICKED(IDC_BUTTON7, &CButtonDlg::OnBnClickedButton7)
  30. ON_BN_CLICKED(IDC_BUTTON2, &CButtonDlg::OnBnClickedButton2)
  31. ON_BN_CLICKED(IDC_BUTTON3, &CButtonDlg::OnBnClickedButton3)
  32. ON_BN_CLICKED(IDC_BUTTON4, &CButtonDlg::OnBnClickedButton4)
  33. ON_BN_CLICKED(IDC_BUTTON5, &CButtonDlg::OnBnClickedButton5)
  34. ON_BN_CLICKED(IDC_BUTTON6, &CButtonDlg::OnBnClickedButton6)
  35. END_MESSAGE_MAP()
  36. // CButtonDlg 消息处理程序
  37. BOOL CButtonDlg::OnInitDialog()
  38. {
  39. CDlgControlItem::OnInitDialog();
  40. //设置选中
  41. ((CButton*)GetDlgItem(IDC_CHECK1))->SetCheck(BST_CHECKED);
  42. CheckDlgButton(IDC_CHECK2,BST_CHECKED);
  43. //获取是否选中
  44. UINT uCheck = IsDlgButtonChecked(IDC_CHECK1);
  45. if( ((CButton*)GetDlgItem(IDC_CHECK1))->GetCheck() == BST_CHECKED ){}
  46. //如果此类控件比较多,可以通过这个判断哪个被选中了
  47. INT uCheckID = GetCheckedRadioButton( IDC_CHECK1, IDC_CHECK2);
  48. HDC hParentDC = GetBackDC();
  49. m_Button2.SetBackImage(TEXT("Res\\Button\\login_btn_normal.png"),TEXT("Res\\Button\\login_btn_highlight.png"),TEXT("Res\\Button\\login_btn_down.png"),TEXT("Res\\Button\\login_btn_focus.png"));
  50. m_Button2.SetButtonType(en_PushButton);
  51. m_Button2.SetParentBack(hParentDC);
  52. m_Button2.SetSize(86,30);
  53. m_Button3.SetBackImage(TEXT("Res\\Button\\btn_close_normal.png"),TEXT("Res\\Button\\btn_close_highlight.png"),TEXT("Res\\Button\\btn_close_down.png"),TEXT("Res\\Button\\btn_close_normal.png"));
  54. m_Button3.SetButtonType(en_PushButton);
  55. m_Button3.SetParentBack(hParentDC);
  56. m_Button3.SetSize(39,20);
  57. m_Button4.SetBackImage(TEXT("Res\\Button\\tank_normal.png"),TEXT("Res\\Button\\tank_highlight.png"),TEXT("Res\\Button\\tank_down.png"),TEXT("Res\\Button\\tank_normal.png"));
  58. m_Button4.SetButtonType(en_PushButton);
  59. m_Button4.SetParentBack(hParentDC);
  60. m_Button4.SetSize(130,130);
  61. m_Button5.SetCheckImage(TEXT("Res\\Button\\checkbox_normal.png"),TEXT("Res\\Button\\checkbox_hightlight.png"),TEXT("Res\\Button\\checkbox_tick_normal.png"),TEXT("Res\\Button\\checkbox_tick_highlight.png"));
  62. m_Button5.SetButtonType(en_CheckButton);
  63. m_Button5.SetParentBack(hParentDC);
  64. m_Button5.SetSize(68,15);
  65. m_Button5.SetCheck(BST_CHECKED);
  66. m_Button6.SetCheckImage(TEXT("Res\\Button\\radiobtn_normal.png"),TEXT("Res\\Button\\radiobtn_highlight.png"),TEXT("Res\\Button\\radiobtn_tick_normal.png"),TEXT("Res\\Button\\radiobtn_tick_highlight.png"));
  67. m_Button6.SetButtonType(en_RadioButton);
  68. m_Button6.SetParentBack(hParentDC);
  69. m_Button6.SetSize(100,15);
  70. m_Button7.SetBackImage(NULL,TEXT("Res\\Button\\allbtn_highlight.png"),TEXT("Res\\Button\\allbtn_down.png"),NULL);
  71. m_Button7.SetIconImage(TEXT("Res\\Button\\message.png"));
  72. m_Button7.SetButtonType(en_IconButton);
  73. m_Button7.SetParentBack(hParentDC);
  74. m_Button7.SetSize(22,22);
  75. m_Button8.SetBackImage(
  76. NULL,
  77. TEXT("Res\\Button\\allbtn_highlight.png"),
  78. TEXT("Res\\Button\\allbtn_down.png"),
  79. NULL,
  80. &CRect(3,3,3,3)
  81. );
  82. m_Button8.SetIconImage(TEXT("Res\\Button\\QQSafe.png"));
  83. m_Button8.SetButtonType(en_IconButton);
  84. m_Button8.SetParentBack(hParentDC);
  85. m_Button8.SetSize(85,22);
  86. static CMenu menu;
  87. menu.LoadMenu(IDR_MENU1);
  88. CMenu *PopupMenu = menu.GetSubMenu(0);
  89. m_Button9.SetBackImage(NULL,TEXT("Res\\Button\\menubtn_highlight.png"),TEXT("Res\\Button\\menubtn_highlight.png"),NULL);
  90. m_Button9.SetIconImage(TEXT("Res\\Button\\imonline.png"));
  91. m_Button9.SetMenuImage(TEXT("Res\\Button\\MainPanel_FolderNode_expandTexture.png"));
  92. m_Button9.SetButtonType(en_MenuButton);
  93. m_Button9.SetParentBack(hParentDC);
  94. m_Button9.SetMenu(PopupMenu->m_hMenu);
  95. m_Button9.SetSize(35,22);
  96. TCHAR szWorkDirectory[MAX_PATH]={0};
  97. RenderEngine->GetWorkDirectory(szWorkDirectory,MAX_PATH);
  98. StrCat(szWorkDirectory,TEXT("\\Res\\BACK.jpg"));
  99. m_ImageBack.LoadImage(szWorkDirectory);
  100. return TRUE; // return TRUE unless you set the focus to a control
  101. // 异常: OCX 属性页应返回 FALSE
  102. }
  103. void CButtonDlg::OnBnClickedButton1()
  104. {
  105. // TODO: 在此添加控件通知处理程序代码
  106. }
  107. BOOL CButtonDlg::OnCommand(WPARAM wParam, LPARAM lParam)
  108. {
  109. // if (LOWORD(wParam) == IDC_BUTTON1 )
  110. // {
  111. // MessageBox(TEXT("IDC_BUTTON1"));
  112. // }
  113. return CDlgControlItem::OnCommand(wParam, lParam);
  114. }
  115. LRESULT CButtonDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
  116. {
  117. if ( message == WM_COMMAND )
  118. {
  119. if (LOWORD(wParam) == IDC_BUTTON1 )
  120. {
  121. OpenLink(TEXT("http://www.gymsaga.com/project/388.html"));
  122. }
  123. }
  124. return CDlgControlItem::DefWindowProc(message, wParam, lParam);
  125. }
  126. void CButtonDlg::DrawClientArea( CDC*pDC,int nWidth,int nHeight )
  127. {
  128. CRect rcClient;
  129. GetClientRect(&rcClient);
  130. m_ImageBack.DrawImage(pDC,rcClient);
  131. }
  132. void CButtonDlg::OnBnClickedButton7()
  133. {
  134. // CMenu menu;
  135. // if (menu.CreatePopupMenu()==FALSE) return;
  136. //
  137. // menu.AppendMenu(0,1000,TEXT("Item1"));
  138. // menu.AppendMenu(0,1001,TEXT("Item2"));
  139. //
  140. // //显示菜单
  141. // CPoint pt;
  142. // GetCursorPos(&pt);
  143. // menu.TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON,pt.x,pt.y,this);
  144. }
  145. void CButtonDlg::OnBnClickedButton2()
  146. {
  147. OpenLink(TEXT("http://www.gymsaga.com/project/388.html"));
  148. }
  149. void CButtonDlg::OnBnClickedButton3()
  150. {
  151. OpenLink(TEXT("http://www.gymsaga.com/project/388.html"));
  152. }
  153. void CButtonDlg::OnBnClickedButton4()
  154. {
  155. OpenLink(TEXT("http://www.gymsaga.com/project/388.html"));
  156. }
  157. void CButtonDlg::OnBnClickedButton5()
  158. {
  159. OpenLink(TEXT("http://www.gymsaga.com/project/388.html"));
  160. }
  161. void CButtonDlg::OnBnClickedButton6()
  162. {
  163. OpenLink(TEXT("http://www.gymsaga.com/project/388.html"));
  164. }