Kelas CMFCDesktopAlertWnd

Nota

Pustaka Microsoft Foundation Classes (MFC) terus didukung. Namun, kami tidak lagi menambahkan fitur atau memperbarui dokumentasi.

Kelas CMFCDesktopAlertWnd mengimplementasikan fungsionalitas kotak dialog tanpa mode yang muncul di layar untuk memberi tahu pengguna tentang suatu peristiwa.

Untuk detail selengkapnya, lihat kode sumber yang terletak di folder VC\atlmfc\src\mfc dari penginstalan Visual Studio Anda.

Sintaks

class CMFCDesktopAlertWnd : public CWnd

Anggota

Metode Publik

Nama Deskripsi
CMFCDesktopAlertWnd::Create Membuat dan menginisialisasi jendela pemberitahuan desktop.
CMFCDesktopAlertWnd::GetAnimationSpeed Mengembalikan kecepatan animasi.
CMFCDesktopAlertWnd::GetAnimationType Mengembalikan jenis animasi.
CMFCDesktopAlertWnd::GetAutoCloseTime Mengembalikan batas waktu tutup otomatis.
CMFCDesktopAlertWnd::GetCaptionHeight Mengembalikan tinggi keterangan.
CMFCDesktopAlertWnd::GetDialogSize
CMFCDesktopAlertWnd::GetLastPos Mengembalikan posisi terakhir yang valid dari jendela pemberitahuan desktop pada layar.
CMFCDesktopAlertWnd::GetTransparency Mengembalikan tingkat transparansi.
CMFCDesktopAlertWnd::HasSmallCaption Menentukan apakah jendela pemberitahuan desktop ditampilkan dengan keterangan kecil.
CMFCDesktopAlertWnd::OnBeforeShow
CMFCDesktopAlertWnd::OnClickLinkButton Dipanggil oleh kerangka kerja saat pengguna mengklik tombol tautan yang terletak di menu pemberitahuan desktop.
CMFCDesktopAlertWnd::OnCommand Kerangka kerja memanggil fungsi anggota ini saat pengguna memilih item dari menu, saat kontrol anak mengirim pesan pemberitahuan, atau ketika penekanan tombol akselerator diterjemahkan. (Penimpaan CWnd::OnCommand.)
CMFCDesktopAlertWnd::OnDraw
CMFCDesktopAlertWnd::P rocessCommand
CMFCDesktopAlertWnd::SetAnimationSpeed Mengatur kecepatan animasi baru.
CMFCDesktopAlertWnd::SetAnimationType Mengatur tipe animasi.
CMFCDesktopAlertWnd::SetAutoCloseTime Mengatur batas waktu tutup otomatis.
CMFCDesktopAlertWnd::SetSmallCaption Beralih antara keterangan kecil dan normal.
CMFCDesktopAlertWnd::SetTransparency Mengatur tingkat transparansi.

Keterangan

Jendela pemberitahuan desktop dapat transparan, dapat muncul dengan efek animasi, dan dapat menghilang (setelah penundaan yang ditentukan atau ketika pengguna menutupnya dengan mengklik tombol tutup).

Jendela pemberitahuan desktop juga dapat berisi dialog default yang pada gilirannya berisi ikon, teks pesan (label), dan tautan. Atau, jendela pemberitahuan desktop dapat berisi dialog kustom dari sumber daya aplikasi.

Anda membuat jendela pemberitahuan desktop dalam dua langkah. Pertama, panggil konstruktor untuk membuat CMFCDesktopAlertWnd objek. Kedua, panggil fungsi anggota CMFCDesktopAlertWnd::Create untuk membuat jendela dan melampirkannya ke CMFCDesktopAlertWnd objek.

Objek CMFCDesktopAlertWnd membuat kotak dialog anak khusus yang mengisi area klien dari jendela pemberitahuan desktop. Dialog memiliki semua kontrol yang diposisikan di atasnya.

Untuk menampilkan kotak dialog kustom pada jendela popup, ikuti langkah-langkah berikut:

  1. Mendapatkan kelas dari CMFCDesktopAlertDialog.

  2. Buat templat kotak dialog anak di sumber daya.

  3. Panggil CMFCDesktopAlertWnd::Buat menggunakan ID sumber daya templat kotak dialog dan penunjuk ke informasi kelas runtime kelas turunan.

  4. Program kotak dialog kustom untuk menangani semua pemberitahuan yang berasal dari kontrol yang dihosting, atau program kontrol yang dihosting untuk menangani pemberitahuan ini secara langsung.

Gunakan fungsi berikut untuk mengontrol perilaku jendela pemberitahuan desktop:

Contoh

Contoh berikut menggambarkan cara menggunakan berbagai metode di CMFCDesktopAlertWnd kelas untuk mengonfigurasi CMFCDesktopAlertWnd objek. Contoh menunjukkan cara mengatur jenis animasi, mengatur transparansi jendela pop-up, menentukan bahwa jendela pemberitahuan menampilkan keterangan kecil, dan mengatur waktu yang berlalu sebelum jendela pemberitahuan ditutup secara otomatis. Contoh ini juga menunjukkan cara membuat dan menginisialisasi jendela pemberitahuan desktop. Cuplikan kode ini adalah bagian dari sampel Demo Pemberitahuan Desktop.

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

Hierarki Warisan

CObject

CCmdTarget

CWnd

CMFCDesktopAlertWnd

Persyaratan

Header: afxDesktopAlertWnd.h

CMFCDesktopAlertWnd::Create

Membuat dan menginisialisasi jendela pemberitahuan desktop.

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

Parameter

pWndOwner
[masuk, keluar] Menentukan pemilik jendela pemberitahuan. Pemilik tersebut kemudian akan menerima semua pemberitahuan untuk jendela pemberitahuan desktop. Nilai ini tidak boleh NULL.

uiDlgResID
[di] Menentukan ID sumber daya jendela pemberitahuan.

hMenu
[di] Menentukan menu yang ditampilkan ketika pengguna mengklik tombol menu. Jika NULL, tombol menu tidak ditampilkan.

ptPos
[di] Menentukan posisi awal tempat jendela pemberitahuan ditampilkan, menggunakan koordinat layar. Jika parameter ini adalah (-1, -1), jendela pemberitahuan ditampilkan di sudut kanan bawah layar.

pRTIDlgBar
[di] Informasi kelas runtime untuk kelas kotak dialog kustom yang mencakup area klien jendela pemberitahuan.

params
[di] Menentukan parameter yang digunakan untuk membuat jendela pemberitahuan.

Tampilkan Nilai

TRUE jika jendela pemberitahuan berhasil dibuat; jika tidak, FALSE.

Keterangan

Panggil metode ini untuk membuat jendela pemberitahuan. Area klien jendela pemberitahuan berisi kotak dialog anak yang menghosting semua kontrol yang ditampilkan kepada pengguna.

Kelebihan beban metode pertama membuat jendela pemberitahuan yang berisi kotak dialog anak yang dimuat dari sumber daya aplikasi. Overload metode pertama juga dapat menentukan informasi kelas runtime untuk kelas kotak dialog kustom.

Kelebihan beban metode kedua membuat jendela pemberitahuan yang berisi kontrol default. Anda dapat menentukan kontrol mana yang akan ditampilkan dengan memodifikasi Kelas CMFCDesktopAlertWndInfo.

CMFCDesktopAlertWnd::GetAnimationSpeed

Mengembalikan kecepatan animasi.

UINT GetAnimationSpeed() const;

Tampilkan Nilai

Kecepatan animasi jendela pemberitahuan, dalam milidetik.

Keterangan

Kecepatan animasi menjelaskan seberapa cepat jendela pemberitahuan terbuka dan ditutup.

CMFCDesktopAlertWnd::GetAnimationType

Mengembalikan jenis animasi.

CMFCPopupMenu::ANIMATION_TYPE GetAnimationType();

Tampilkan Nilai

Salah satu jenis animasi berikut:

  • NO_ANIMATION

  • TERUNGKAP

  • SLIDE

  • LAYU

  • SYSTEM_DEFAULT_ANIMATION

CMFCDesktopAlertWnd::GetAutoCloseTime

Mengembalikan batas waktu tutup otomatis.

int GetAutoCloseTime() const;

Tampilkan Nilai

Waktu, dalam milidetik, setelah itu jendela pemberitahuan akan ditutup secara otomatis.

Keterangan

Gunakan metode ini untuk menentukan berapa banyak waktu yang harus berlalu sebelum jendela pemberitahuan akan ditutup secara otomatis.

CMFCDesktopAlertWnd::GetCaptionHeight

Mengembalikan tinggi keterangan.

virtual int GetCaptionHeight();

Tampilkan Nilai

Tinggi, dalam piksel, dari keterangan.

Keterangan

Metode ini dapat ditimpa dalam kelas turunan. Implementasi default baik: mengembalikan nilai tinggi keterangan kecil (7 piksel) jika jendela popup harus menampilkan keterangan kecil, atau nilai yang diperoleh dari fungsi GetSystemMetrics(SM_CYSMCAPTION)Windows API .

CMFCDesktopAlertWnd::GetLastPos

Mengembalikan posisi terakhir jendela pemberitahuan desktop pada layar.

CPoint GetLastPos() const;

Tampilkan Nilai

Titik, dalam koordinat layar.

Keterangan

Metode ini mengembalikan posisi terakhir yang valid dari jendela pemberitahuan di layar.

CMFCDesktopAlertWnd::GetTransparency

Mengembalikan tingkat transparansi.

BYTE GetTransparency() const;

Tampilkan Nilai

Tingkat transparansi antara 0 dan 255, inklusif. Semakin besar nilainya, semakin buram jendela.

Keterangan

Gunakan metode ini untuk mengambil tingkat transparansi jendela pemberitahuan saat ini.

CMFCDesktopAlertWnd::HasSmallCaption

Menentukan apakah jendela pemberitahuan desktop memiliki keterangan kecil atau keterangan ukuran reguler.

BOOL HasSmallCaption() const;

Tampilkan Nilai

TRUE jika jendela popup ditampilkan dengan keterangan kecil; FALSE jika jendela popup ditampilkan dengan keterangan berukuran reguler.

Keterangan

Gunakan metode ini untuk menentukan apakah jendela popup memiliki keterangan kecil atau keterangan ukuran reguler. Secara default, keterangan kecil tingginya 7 piksel. Anda dapat memperoleh tinggi keterangan ukuran reguler dengan memanggil fungsi GetSystemMetrics(SM_CYCAPTION)Windows API .

CMFCDesktopAlertWnd::OnBeforeShow

virtual BOOL OnBeforeShow(CPoint&);

Parameter

[di] CPoint&

Tampilkan Nilai

Keterangan

CMFCDesktopAlertWnd::OnClickLinkButton

Dipanggil oleh kerangka kerja saat pengguna mengklik tombol tautan yang terletak di menu pemberitahuan desktop.

virtual BOOL OnClickLinkButton(UINT uiCmdID);

Parameter

uiCmdID
[di] Parameter ini tidak digunakan.

Tampilkan Nilai

Selalu FALSE.

Keterangan

Ambil alih metode ini di kelas turunan jika Anda ingin diberi tahu saat pengguna mengklik tautan di jendela pemberitahuan.

CMFCDesktopAlertWnd::OnCommand

virtual BOOL OnCommand(
    WPARAM wParam,
    LPARAM lParam);

Parameter

[di] wParam

[di] lParam

Tampilkan Nilai

Keterangan

CMFCDesktopAlertWnd::OnDraw

virtual void OnDraw(CDC* pDC);

Parameter

[di] pDC

Keterangan

CMFCDesktopAlertWnd::P rocessCommand

BOOL ProcessCommand(HWND hwnd);

Parameter

[di] hwnd

Tampilkan Nilai

Keterangan

CMFCDesktopAlertWnd::SetAnimationSpeed

Mengatur kecepatan animasi baru.

void SetAnimationSpeed(UINT nSpeed);

Parameter

nSpeed
[di] Menentukan kecepatan animasi baru, dalam milidetik.

Keterangan

Panggil metode ini untuk mengatur kecepatan animasi untuk jendela pemberitahuan. Kecepatan animasi default adalah 30 milidetik.

CMFCDesktopAlertWnd::SetAnimationType

Mengatur tipe animasi.

void SetAnimationType(CMFCPopupMenu::ANIMATION_TYPE type);

Parameter

jenis
[di] Menentukan tipe animasi.

Keterangan

Panggil metode ini untuk mengatur tipe animasi. Anda dapat menentukan salah satu nilai berikut:

  • NO_ANIMATION

  • TERUNGKAP

  • SLIDE

  • LAYU

  • SYSTEM_DEFAULT_ANIMATION

CMFCDesktopAlertWnd::SetAutoCloseTime

Mengatur batas waktu tutup otomatis.

void SetAutoCloseTime(int nTime);

Parameter

nTime
[di] Waktu, dalam milidetik, yang berlalu sebelum jendela pemberitahuan secara otomatis ditutup.

Keterangan

Jendela pemberitahuan ditutup secara otomatis setelah waktu yang ditentukan jika pengguna tidak berinteraksi dengan jendela.

CMFCDesktopAlertWnd::SetSmallCaption

Beralih antara keterangan ukuran kecil dan reguler.

void SetSmallCaption(BOOL bSmallCaption = TRUE);

Parameter

bSmallCaption
[di] TRUE untuk menentukan bahwa jendela pemberitahuan menampilkan keterangan kecil; jika tidak, FALSE untuk menentukan bahwa jendela pemberitahuan menampilkan keterangan ukuran reguler.

Keterangan

Panggil metode ini untuk menampilkan keterangan ukuran kecil atau reguler. Secara default, keterangan kecil tingginya 7 piksel. Anda dapat memperoleh ukuran keterangan reguler dengan memanggil fungsi GetSystemMetrics(SM_CYCAPTION)WINDOWS API .

CMFCDesktopAlertWnd::SetTransparency

Mengatur tingkat transparansi jendela popup.

void SetTransparency(BYTE nTransparency);

Parameter

nTransparency
[di] Menentukan tingkat transparansi. Nilai ini harus antara 0 dan 255, inklusif. Semakin besar nilainya, semakin buram jendela.

Keterangan

Panggil fungsi ini untuk mengatur tingkat transparansi jendela popup.

CMFCDesktopAlertWnd::GetDialogSize

virtual CSize GetDialogSize();

Tampilkan Nilai

Keterangan

Lihat juga

Bagan Hierarki
Kelas
Kelas CMFCDesktopAlertWndInfo
Kelas CMFCDesktopAlertDialog
Kelas CWnd