다음을 통해 공유


CMFCDesktopAlertWnd Class

클래스는 CMFCDesktopAlertWnd 사용자에게 이벤트에 대해 알리기 위해 화면에 표시되는 모덜리스 대화 상자의 기능을 구현합니다.

자세한 내용은 Visual Studio 설치의 VC\atlmfc\src\mfc 폴더에 있는 소스 코드를 참조하세요.

구문

class CMFCDesktopAlertWnd : public CWnd

멤버

공용 메서드

이름 설명
CMFCDesktopAlertWnd::Create 데스크톱 경고 창을 만들고 초기화합니다.
CMFCDesktopAlertWnd::GetAnimationSpeed 애니메이션 속도를 반환합니다.
CMFCDesktopAlertWnd::GetAnimationType 애니메이션 형식을 반환합니다.
CMFCDesktopAlertWnd::GetAutoCloseTime 자동 닫기 시간 초과를 반환합니다.
CMFCDesktopAlertWnd::GetCaptionHeight 캡션 높이를 반환합니다.
CMFCDesktopAlertWnd::GetDialogSize
CMFCDesktopAlertWnd::GetLastPos 화면에서 바탕 화면 경고 창의 마지막 유효한 위치를 반환합니다.
CMFCDesktopAlertWnd::GetTransparency 투명도 수준을 반환합니다.
CMFCDesktopAlertWnd::HasSmallCaption 바탕 화면 경고 창이 작은 캡션 표시할지 여부를 결정합니다.
CMFCDesktopAlertWnd::OnBeforeShow
CMFCDesktopAlertWnd::OnClickLinkButton 사용자가 바탕 화면 경고 메뉴에 있는 링크 단추를 클릭할 때 프레임워크에서 호출됩니다.
CMFCDesktopAlertWnd::OnCommand 프레임워크는 사용자가 메뉴에서 항목을 선택하거나, 자식 컨트롤이 알림 메시지를 보내거나, 액셀러레이터 키 입력이 번역될 때 이 멤버 함수를 호출합니다. (재정의 CWnd::OnCommand.)
CMFCDesktopAlertWnd::OnDraw
CMFCDesktopAlertWnd::P rocessCommand
CMFCDesktopAlertWnd::SetAnimationSpeed 새 애니메이션 속도를 설정합니다.
CMFCDesktopAlertWnd::SetAnimationType 애니메이션 유형을 설정합니다.
CMFCDesktopAlertWnd::SetAutoCloseTime 자동 닫기 시간 초과를 설정합니다.
CMFCDesktopAlertWnd::SetSmallCaption 작고 일반적인 캡션 전환합니다.
CMFCDesktopAlertWnd::SetTransparency 투명도 수준을 설정합니다.

설명

바탕 화면 경고 창은 투명할 수 있고 애니메이션 효과와 함께 표시될 수 있으며 사라질 수 있습니다(지정된 지연 후 또는 사용자가 닫기 단추를 클릭하여 해제할 때).

바탕 화면 경고 창에는 아이콘, 메시지 텍스트(레이블) 및 링크가 포함된 기본 대화 상자가 포함될 수도 있습니다. 또는 데스크톱 경고 창에 애플리케이션 리소스의 사용자 지정 대화 상자가 포함될 수 있습니다.

두 단계로 바탕 화면 경고 창을 만듭니다. 먼저 생성자를 호출하여 개체를 생성합니다 CMFCDesktopAlertWnd . 둘째, CMFCDesktopAlertWnd::Create member 함수를 호출하여 창을 만들고 개체에 CMFCDesktopAlertWnd 연결합니다.

개체는 CMFCDesktopAlertWnd 바탕 화면 경고 창의 클라이언트 영역을 채우는 특수 자식 대화 상자를 만듭니다. 대화 상자에 있는 모든 컨트롤을 소유합니다.

팝업 창에 사용자 지정 대화 상자를 표시하려면 다음 단계를 수행합니다.

  1. CMFCDesktopAlertDialog에서 클래스를 파생합니다.

  2. 리소스에 자식 대화 상자 템플릿을 만듭니다.

  3. CMFCDesktopAlertWnd::대화 상자 템플릿의 리소스 ID와 파생 클래스의 런타임 클래스 정보에 대한 포인터를 사용하여 만듭니다.

  4. 호스팅된 컨트롤에서 들어오는 모든 알림을 처리하도록 사용자 지정 대화 상자를 프로그래밍하거나 호스트된 컨트롤을 프로그래밍하여 이러한 알림을 직접 처리합니다.

다음 함수를 사용하여 데스크톱 경고 창의 동작을 제어합니다.

  • 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));
   }
}

상속 계층 구조

CObject

CCmdTarget

CWnd

CMFCDesktopAlertWnd

요구 사항

헤더: 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 클래스