Professional Documents
Culture Documents
C4W - Bai 03
C4W - Bai 03
Hồ Chí Minh
Khoa Toán – Tin Học
LẬP TRÌNH WINDOWS
Dialog Box
Common Controls
Property Sheet
Dialog application
Color dialog
Fonts dialog
abc.cpp: cài đặt các hàm thành phần của lớp CabcApp
abcDlg.cpp: cài đặt các hàm thành phần của lớp CabcDlg
public:
virtual BOOL InitInstance();
DECLARE_MESSAGE_MAP()
};
Dialog resource
New dialog
resource
Resource editor
Alignment
Lớp Kế thừa
UpdateData(FALSE);
CDialog::OnOK();
}
CDialog::OnOK();
}
CDialog::OnOK();
}
CDialog::OnOK();
}
m_edtUserName.EnableWindow(TRUE);
…..
}
void CLoginDlg::Disable()
{
……
GetDlgItem(IDC_TXTUSERNAME)->EnableWindow(FALSE);
…..
}
void CMyClass::ShowMyDlg()
{
CLoginDlg dlg;
dlg.DoModal();
}
}
}
dlg.m_editUserName.SetWindowText(s);
int nRes = dlg.DoModal();
if (nRes == IDOK)
MessageBox(s);
}
}
Dialog Box
Common Controls
Property Sheet
void CMediaDlg::OnBtnOpen()
{
// TODO: Add your control notification handler code here
CString strFileName = _T("C:\\Music\\Track01.MP3");
m_MediaPlayer.Open (strFileName);
}
Dialog Box
Common Controls
Property Sheet
Page 1
Page 1
Page 2
Chọn lớp
kế thừa
Chọn lớp
kế thừa
CMyPage1 m_myPage1;
CMyPage2 m_myPage2;
…
}
BEGIN_MESSAGE_MAP(CMyPropertySheet, CPropertySheet)
//{{AFX_MSG_MAP(CMyPropertySheet)
// NOTE - the ClassWizard will add and remove mapping macros here.
ON_BN_CLICKED (ID_APPLY_NOW, OnApply)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
void CMyPropertySheet::OnApply()
{
GetActivePage ()->UpdateData (TRUE);
m_myPage1.SetModified (FALSE);
m_myPage2.SetModified (FALSE);
}
m_myPage2.UpdateData (TRUE);
m_myPage1.SetModified (FALSE);
m_myPage2.SetModified (FALSE);
}
} }
#include “myName.h”
class CMyPage1 : public CPropertyPage
{
CMyName m_myName;
….
}
CMyName myName;
CMyName myName;
CPropertyPage::OnOK();
}
void CMyPage1::GetDataControl()
{
UpdateData();
m_myName.m_strFirstName = m_strFirstName;
…….
}
my.s1 = m_S;
my.n = 5;
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_MESSAGE (WM_USER_APPLY, OnApply)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
#define VC_EXTRALEAN
void CMyModelessView::OnHide()
{
// TODO: Add your command handler code here
m_dlgMyModeless.ShowWindow(SW_HIDE);
Dialog Box
Common Controls
Property Sheet
Open file
dialog
OFN_PATHMUSTEXIST ,
"C Header Files (*.h)|*.h|C++ Header Files (*.hpp)|*.hpp|");
if ( fDlg.DoModal() == IDOK)
{
CString s= fDlg.GetPathName();
if (s.Find(".h") ==-1 && s.Find(".hpp")==-1)
s+=".hpp";
//Xử lý với tên file s
s.ReleaseBuffer(s.GetLength());
}
CView::OnLButtonDown(nFlags, point);
}
Color dialog
if (dlg.DoModal() ==IDOK)
{
COLORREF color = dlg.GetColor();
//Xử lý với color
…
}
Fonts dialog