CMFCDesktopAlertWnd Class
클래스는 CMFCDesktopAlertWnd
사용자에게 이벤트에 대해 알리기 위해 화면에 표시되는 모덜리스 대화 상자의 기능을 구현합니다.
더 자세한 내용은 Visual Studio 설치의 VC\atlmfc\src\mfc 폴더에 있는 소스 코드를 참조하세요.
구문
class CMFCDesktopAlertWnd : public CWnd
멤버
공용 메서드
설명
바탕 화면 경고 창은 투명할 수 있고 애니메이션 효과와 함께 표시될 수 있으며 사라질 수 있습니다(지정된 지연 후 또는 사용자가 닫기 단추를 클릭하여 해제할 때).
바탕 화면 경고 창에는 아이콘, 메시지 텍스트(레이블) 및 링크가 포함된 기본 대화 상자가 포함될 수도 있습니다. 또는 데스크톱 경고 창에 애플리케이션 리소스의 사용자 지정 대화 상자가 포함될 수 있습니다.
두 단계로 바탕 화면 경고 창을 만듭니다. 먼저 생성자를 호출하여 개체를 생성합니다 CMFCDesktopAlertWnd
. 둘째, CMFCDesktopAlertWnd::Create member 함수를 호출하여 창을 만들고 개체에 CMFCDesktopAlertWnd
연결합니다.
개체는 CMFCDesktopAlertWnd
바탕 화면 경고 창의 클라이언트 영역을 채우는 특수 자식 대화 상자를 만듭니다. 대화 상자에 있는 모든 컨트롤을 소유합니다.
팝업 창에 사용자 지정 대화 상자를 표시하려면 다음 단계를 수행합니다.
CMFCDesktopAlertDialog
에서 클래스를 파생합니다.리소스에 자식 대화 상자 템플릿을 만듭니다.
CMFCDesktopAlertWnd::대화 상자 템플릿의 리소스 ID와 파생 클래스의 런타임 클래스 정보에 대한 포인터를 사용하여 만듭니다.
호스팅된 컨트롤에서 들어오는 모든 알림을 처리하도록 사용자 지정 대화 상자를 프로그래밍하거나 호스트된 컨트롤을 프로그래밍하여 이러한 알림을 직접 처리합니다.
다음 함수를 사용하여 데스크톱 경고 창의 동작을 제어합니다.
CMFCDesktopAlertWnd::SetAnimationType을 호출하여 애니메이션 형식을 설정합니다. 유효한 옵션으로는 펼기, 슬라이드 및 페이드 등이 있습니다.
CMFCDesktopAlertWnd::SetAnimationSpeed를 호출하여 애니메이션 프레임 속도를 설정합니다.
CMFCDesktopAlertWnd::SetTransparency를 호출 하여 투명도 수준을 설정합니다.
CMFCDesktopAlertWnd::SetSmallCaption을 호출하여 캡션의 크기를 작게 변경합니다. 작은 캡션의 높이가 7픽셀입니다.
예시
다음 예제에서는 클래스의 다양한 메서드를 사용하여 개체를 CMFCDesktopAlertWnd
구성하는 CMFCDesktopAlertWnd
방법을 보여 줍니다. 이 예제에서는 애니메이션 유형을 설정하고, 팝업 창의 투명도를 설정하고, 경고 창에 작은 캡션을 표시하도록 지정하고, 경고 창이 자동으로 닫히기 전에 경과되는 시간을 설정하는 방법을 보여 줍니다. 이 예제에서는 데스크톱 경고 창을 만들고 초기화하는 방법도 보여 줍니다. 이 코드 조각은 데스크톱 경고 데모 샘플의 일부입니다.
CMFCDesktopAlertWnd *pPopup = new CMFCDesktopAlertWnd;
// int m_nAnimation
pPopup->SetAnimationType((CMFCPopupMenu::ANIMATION_TYPE)m_nAnimation);
// int m_nAnimationSpeed
pPopup->SetAnimationSpeed(m_nAnimationSpeed);
// int m_nTransparency
pPopup->SetTransparency((BYTE)m_nTransparency);
// BOOL m_bSmallCaption
pPopup->SetSmallCaption(m_bSmallCaption);
// BOOL m_bAutoClose, int m_nAutoCloseTime
pPopup->SetAutoCloseTime(m_bAutoClose ? m_nAutoCloseTime * 1000 : 0);
// int m_nPopupSource
if (m_nPopupSource == 0)
{
// int m_nVisualMngr
// CPoint m_ptPopup
// The this pointer points to a CDesktopAlertDemoDlg class which extends the CDialogEx class.
if (m_nVisualMngr == 5) // MSN-style
{
pPopup->Create(this, IDD_DIALOG2, NULL,
m_ptPopup, RUNTIME_CLASS(CMSNDlg));
}
else
{
pPopup->Create(this, IDD_DIALOG1,
m_menuPopup.GetSubMenu(0)->GetSafeHmenu(),
m_ptPopup, RUNTIME_CLASS(CMyPopupDlg));
}
}
상속 계층 구조
요구 사항
헤더: afxDesktopAlertWnd.h
CMFCDesktopAlertWnd::Create
데스크톱 경고 창을 만들고 초기화합니다.
virtual BOOL Create(
CWnd* pWndOwner,
UINT uiDlgResID,
HMENU hMenu = NULL,
CPoint ptPos = CPoint(-1,-1),
CRuntimeClass* pRTIDlgBar = RUNTIME_CLASS(CMFCDesktopAlertDialog));
virtual BOOL Create(
CWnd* pWndOwner,
CMFCDesktopAlertWndInfo& params,
HMENU hMenu = NULL,
CPoint ptPos = CPoint(-1,-1));
매개 변수
pWndOwner
[in, out] 경고 창의 소유자를 지정합니다. 그러면 해당 소유자는 데스크톱 경고 창에 대한 모든 알림을 받게 됩니다. 이 값은 NULL일 수 없습니다.
uiDlgResID
[in] 경고 창의 리소스 ID를 지정합니다.
hMenu
[in] 사용자가 메뉴 단추를 클릭할 때 표시되는 메뉴를 지정합니다. NULL이면 메뉴 단추가 표시되지 않습니다.
ptPos
[in] 화면 좌표를 사용하여 경고 창이 표시되는 초기 위치를 지정합니다. 이 매개 변수가 (-1, -1)이면 화면의 오른쪽 아래 모서리에 경고 창이 표시됩니다.
pRTIDlgBar
[in] 경고 창의 클라이언트 영역을 포함하는 사용자 지정 대화 상자 클래스에 대한 런타임 클래스 정보입니다.
params
[in] 경고 창을 만드는 데 사용되는 매개 변수를 지정합니다.
Return Value
경고 창이 성공적으로 만들어진 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.
설명
이 메서드를 호출하여 경고 창을 만듭니다. 경고 창의 클라이언트 영역에는 사용자에게 표시되는 모든 컨트롤을 호스트하는 자식 대화 상자가 포함되어 있습니다.
첫 번째 메서드 오버로드는 애플리케이션의 리소스에서 로드되는 자식 대화 상자가 포함된 경고 창을 만듭니다. 첫 번째 메서드 오버로드는 사용자 지정 대화 상자 클래스에 대한 런타임 클래스 정보를 지정할 수도 있습니다.
두 번째 메서드 오버로드는 기본 컨트롤이 포함된 경고 창을 만듭니다. CMFCDesktopAlertWndInfo 클래스를 수정하여 표시할 컨트롤을 지정할 수 있습니다.
CMFCDesktopAlertWnd::GetAnimationSpeed
애니메이션 속도를 반환합니다.
UINT GetAnimationSpeed() const;
Return Value
경고 창의 애니메이션 속도(밀리초)입니다.
설명
애니메이션 속도는 경고 창이 열리고 닫는 속도를 설명합니다.
CMFCDesktopAlertWnd::GetAnimationType
애니메이션 형식을 반환합니다.
CMFCPopupMenu::ANIMATION_TYPE GetAnimationType();
Return Value
다음 애니메이션 유형 중 하나입니다.
NO_ANIMATION
펴다
슬라이드
사라지다
SYSTEM_DEFAULT_ANIMATION
CMFCDesktopAlertWnd::GetAutoCloseTime
자동 닫기 시간 초과를 반환합니다.
int GetAutoCloseTime() const;
Return Value
경고 창이 자동으로 닫히는 시간(밀리초)입니다.
설명
이 방법을 사용하여 경고 창이 자동으로 닫히기 전에 경과해야 하는 시간을 결정합니다.
CMFCDesktopAlertWnd::GetCaptionHeight
캡션의 높이를 반환합니다.
virtual int GetCaptionHeight();
Return Value
캡션의 높이(픽셀)입니다.
설명
이 메서드는 파생 클래스에서 재정의할 수 있습니다. 기본 구현은 팝업 창에 작은 캡션이 표시되어야 하는 경우 작은 캡션 높이 값(7픽셀)을 반환하거나 Windows API 함수 GetSystemMetrics(SM_CYSMCAPTION)
에서 가져온 값을 반환합니다.
CMFCDesktopAlertWnd::GetLastPos
화면에서 바탕 화면 경고 창의 마지막 위치를 반환합니다.
CPoint GetLastPos() const;
Return Value
화면 좌표의 점입니다.
설명
이 메서드는 화면에서 경고 창의 마지막 유효한 위치를 반환합니다.
CMFCDesktopAlertWnd::GetTransparency
투명도 수준을 반환합니다.
BYTE GetTransparency() const;
Return Value
0에서 255 사이의 투명도 수준(포함)입니다. 값이 클수록 창이 불투명합니다.
설명
이 메서드를 사용하여 경고 창의 현재 투명도 수준을 검색합니다.
CMFCDesktopAlertWnd::HasSmallCaption
바탕 화면 경고 창에 작은 캡션 또는 일반 크기 캡션이 있는지 여부를 결정합니다.
BOOL HasSmallCaption() const;
Return Value
팝업 창이 작은 캡션과 함께 표시되는 경우 TRUE입니다. 팝업 창이 일반 크기의 캡션과 함께 표시되는 경우 FALSE입니다.
설명
이 메서드를 사용하여 팝업 창에 작은 캡션 또는 일반 크기 캡션이 있는지 확인합니다. 기본적으로 작은 캡션은 7픽셀 높이입니다. Windows API 함수를 호출하여 일반 크기 캡션의 높이를 가져올 수 있습니다 GetSystemMetrics(SM_CYCAPTION)
.
CMFCDesktopAlertWnd::OnBeforeShow
virtual BOOL OnBeforeShow(CPoint&);
매개 변수
[in] CPoint&C
Return Value
설명
CMFCDesktopAlertWnd::OnClickLinkButton
사용자가 바탕 화면 경고 메뉴에 있는 링크 단추를 클릭할 때 프레임워크에서 호출됩니다.
virtual BOOL OnClickLinkButton(UINT uiCmdID);
매개 변수
uiCmdID
[in] 이 매개 변수는 사용되지 않습니다.
Return Value
항상 FALSE입니다.
설명
사용자가 경고 창에서 링크를 클릭할 때 알림을 받으려면 파생 클래스에서 이 메서드를 재정의합니다.
CMFCDesktopAlertWnd::OnCommand
virtual BOOL OnCommand(
WPARAM wParam,
LPARAM lParam);
매개 변수
[in] wParam
[in] lParam
Return Value
설명
CMFCDesktopAlertWnd::OnDraw
virtual void OnDraw(CDC* pDC);
매개 변수
[in] pDC
설명
CMFCDesktopAlertWnd::P rocessCommand
BOOL ProcessCommand(HWND hwnd);
매개 변수
[in] hwnd
Return Value
설명
CMFCDesktopAlertWnd::SetAnimationSpeed
새 애니메이션 속도를 설정합니다.
void SetAnimationSpeed(UINT nSpeed);
매개 변수
nSpeed
[in] 새 애니메이션 속도를 밀리초 단위로 지정합니다.
설명
경고 창에 대한 애니메이션 속도를 설정하려면 이 메서드를 호출합니다. 기본 애니메이션 속도는 30밀리초입니다.
CMFCDesktopAlertWnd::SetAnimationType
애니메이션 유형을 설정합니다.
void SetAnimationType(CMFCPopupMenu::ANIMATION_TYPE type);
매개 변수
type
[in] 애니메이션 유형을 지정합니다.
설명
애니메이션 유형을 설정하려면 이 메서드를 호출합니다. 다음 값 중 하나를 지정할 수 있습니다.
NO_ANIMATION
펴다
슬라이드
사라지다
SYSTEM_DEFAULT_ANIMATION
CMFCDesktopAlertWnd::SetAutoCloseTime
자동 닫기 시간 초과를 설정합니다.
void SetAutoCloseTime(int nTime);
매개 변수
nTime
[in] 경고 창이 자동으로 닫히기 전에 경과되는 시간(밀리초)입니다.
설명
사용자가 창과 상호 작용하지 않으면 지정된 시간 이후에 경고 창이 자동으로 닫힙니다.
CMFCDesktopAlertWnd::SetSmallCaption
작은 캡션과 일반 크기 캡션 사이를 전환합니다.
void SetSmallCaption(BOOL bSmallCaption = TRUE);
매개 변수
bSmallCaption
[in] TRUE이면 경고 창에 작은 캡션이 표시되도록 지정합니다. 그렇지 않으면 경고 창에 일반 크기 캡션이 표시되도록 지정하려면 FALSE입니다.
설명
이 메서드를 호출하여 작은 캡션 또는 일반 크기 캡션을 표시합니다. 기본적으로 작은 캡션은 7픽셀 높이입니다. Windows API 함수를 호출하여 일반 캡션의 크기를 가져올 수 있습니다 GetSystemMetrics(SM_CYCAPTION)
.
CMFCDesktopAlertWnd::SetTransparency
팝업 창의 투명도 수준을 설정합니다.
void SetTransparency(BYTE nTransparency);
매개 변수
nTransparency
[in] 투명도 수준을 지정합니다. 이 값은 0에서 255 사이여야 합니다. 값이 클수록 창이 불투명합니다.
설명
팝업 창의 투명도 수준을 설정하려면 이 함수를 호출합니다.
CMFCDesktopAlertWnd::GetDialogSize
virtual CSize GetDialogSize();
Return Value
설명
참고 항목
계층 구조 차트
클래스
CMFCDesktopAlertWndInfo 클래스
CMFCDesktopAlertDialog 클래스
CWnd 클래스