모달 프로그램
본 자료는 5페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
해당 자료는 5페이지 까지만 미리보기를 제공합니다.
5페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

#6_1. 모달 프로그램(소스변경부분,실행결과 출력)

#6_2. 모델리스 프로그램(소스변경부분,실행결과 출력)

본문내용

odeless)
ON_UPDATE_COMMAND_UI(ID_DIALOG_MODELESS, OnUpdateDialogModeless)
//}}AFX_MSG_MAP
ON_MESSAGE(WM_USERMODELESS,OnUserModeless)
END_MESSAGE_MAP()
< CModelessDlg.cpp - OnInitDialog(),OnHScroll(UINT nSBCode,UINT nPos,ScrollBar* pScrollBar),Create()
CModelessDlg(CFrameWnd* pFrmWnd),SetScrollPosition(UINT uSBCode,UINT uPos,UINT uCounter)
OnOK(),OnCancel() >
BOOL CModelessDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_sliderRed.SetRange(0, 255);
m_sliderGreen.SetRange(0, 255);
m_sliderBlue.SetRange(0, 255);
m_sliderRed.SetPos(0);
m_sliderGreen.SetPos(0);
m_sliderBlue.SetPos(0);
SetDlgItemInt(IDC_RED, 0);
SetDlgItemInt(IDC_GREEN, 0);
SetDlgItemInt(IDC_BLUE, 0);
m_scroll.GetDlgItem(IDC_SCROLLBAR);
m_scroll.SetScrollRange(0, 100);
m_scroll.SetScrollPos(0);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CModelessDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
UINT nCounter;
switch(pScrollBar->GetDlgCtrlID())
{
case IDC_SLIDER_RED:
SetDlgItemInt(IDC_RED, m_sliderRed.GetPos());
break;
case IDC_SLIDER_GREEN:
SetDlgItemInt(IDC_GREEN, m_sliderGreen.GetPos());
break;
case IDC_SLIDER_BLUE:
SetDlgItemInt(IDC_BLUE, m_sliderBlue.GetPos());
break;
case IDC_SCROLLBAR:
nCounter = m_scroll.GetScrollPos();
SetScrollPosition(nSBCode, nPos, nCounter);
break;
}
COLORREF color = RGB(GetDlgItemInt(IDC_RED),
GetDlgItemInt(IDC_GREEN),
GetDlgItemInt(IDC_BLUE));
CRect rect;
CStatic* pPicture = (CStatic*)GetDlgItem(IDC_SHOW);
pPicture->GetClientRect(rect);
CClientDC dc(pPicture);
CBrush brush(color);
CBrush* pOldBrush = dc.SelectObject(&brush);
dc.FillRect(rect, &brush);
dc.SelectObject(pOldBrush);
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
BOOL CModelessDlg::Create()
{
return CDialog::Create(CModelessDlg::IDD);
}
void CModelessDlg::SetScrollPosition(UINT uSBCode, UINT uPos, UINT uCounter)
{
switch(uSBCode)
{
case SB_LINELEFT:
if(uCounter > 0)
uCounter -= 1;
else
uCounter = 0;
m_scroll.SetScrollPos(uCounter);
break;
case SB_PAGELEFT:
if(uCounter >= 0)
uCounter -=10;
else
uCounter = 0;
m_scroll.SetScrollPos(uCounter);
break;
case SB_LINERIGHT:
if(uCounter < 100)
uCounter += 1;
else
uCounter = 100;
m_scroll.SetScrollPos(uCounter);
break;
case SB_PAGERIGHT:
if(uCounter <= 100)
uCounter +=10;
else
uCounter = 100;
m_scroll.SetScrollPos(uCounter);
break;
case SB_THUMBTRACK:
uCounter = uPos;
m_scroll.SetScrollPos(uCounter);
break;
}
m_strPercent.Format("%d%%", uCounter);
UpdateData(FALSE);
}
void CModelessDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData(TRUE);
DestroyWindow();
if(m_pFrmWnd != NULL)
m_pFrmWnd->SendMessage(WM_USERMODELESS, IDOK);
// CDialog::OnOK();
}
void CModelessDlg::OnCancel()
{
// TODO: Add extra cleanup here
DestroyWindow();
if(m_pFrmWnd != NULL)
m_pFrmWnd->SendMessage(WM_USERMODELESS, IDCANCEL);
// CDialog::OnCancel();
}
□ 실 행 결 과

키워드

모달,   modal,   프로그램,   MFC
  • 가격2,000
  • 페이지수16페이지
  • 등록일2006.05.02
  • 저작시기2004.3
  • 파일형식한글(hwp)
  • 자료번호#346975
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니