Bagikan melalui


PSN_WIZBACK kode pemberitahuan

Memberi tahu halaman bahwa pengguna telah mengklik tombol Kembali dalam wizard. Kode pemberitahuan ini dikirim dalam bentuk pesan WM_NOTIFY .

PSN_WIZBACK 

    lppsn = (LPPSHNOTIFY) lParam; 

Parameter

lParam

Penunjuk ke struktur PSHNOTIFY yang berisi informasi tentang kode pemberitahuan. Struktur ini berisi struktur NMHDR sebagai anggota pertamanya, hdr. Anggota hwndFrom dari struktur NMHDR ini berisi handel ke lembar properti. Anggota lParam dari struktur PSHNOTIFY tidak berisi informasi apa pun.

Mengembalikan nilai

Mengembalikan 0 untuk memperbolehkan wizard masuk ke halaman sebelumnya. Mengembalikan -1 untuk mencegah panduan mengubah halaman. Untuk menampilkan halaman tertentu, kembalikan pengidentifikasi sumber daya dialognya. Jika dialog ditentukan dengan bendera PSP_DLGINDIRECT , pemberitahuan ini mengembalikan penunjuk ke templat dialog.

Keterangan

Untuk mengatur nilai yang dikembalikan, prosedur kotak dialog untuk halaman harus memanggil fungsi SetWindowLong dengan nilai DWL_MSGRESULT dan mengembalikan TRUE. Contohnya:

case PSN_WIZBACK :
    SetWindowLong(hDlg, DWL_MSGRESULT, 0);
    break;

case PSN_WIZNEXT :
    ...

Catatan

Lembar properti sedang dalam proses memanipulasi daftar halaman saat kode pemberitahuan PSN_WIZBACK dikirim. Anda dapat menambahkan, menyisipkan, atau menghapus halaman sebagai respons terhadap kode pemberitahuan ini, tetapi perawatan khusus harus dilakukan jika Anda menyisipkan atau menghapus halaman sebelum halaman saat ini.

Jika Anda menyisipkan atau menghapus halaman sebelum halaman saat ini, Anda harus mengembalikan (melalui DWL_MSGRESULT) nilai bukan nol untuk menentukan halaman baru yang diinginkan. Namun, perhatikan bahwa jika Anda menyisipkan atau menghapus halaman yang terletak sebelum halaman saat ini (yang memiliki indeks yang lebih kecil daripada halaman saat ini), PSN_KILLACTIVE mungkin dikirim ke halaman yang salah.

Untuk alasan ini, disarankan agar wizard yang menambahkan dan menghapus halaman secara dinamis sebagai respons terhadap PSN_WIZNEXT dan PSN_WIZBACK melakukannya hanya ke halaman di akhir daftar. Jika Anda ingin wizard Anda menghapus halaman secara akurat, pertahankan halaman dinamis di akhir daftar dan lompat kembali ke halaman permanen sebelum menghapusnya.

Misalnya, wizard terdiri dari halaman pengantar, serangkaian halaman dinamis, dan halaman penyelesaian, dan Anda ingin menghapus halaman dinamis saat pengguna mencapai halaman penyelesaian.

  1. Wizard akan dimulai dengan dua halaman, "Pengenalan" dan "Penyelesaian." Pengguna dimulai pada halaman "Pengenalan".
    1. Pengantar (Pengguna ada di sini)
    2. Penyelesaian
  2. Ketika pengguna menavigasi jauh dari "Pengenalan," wizard menambahkan halaman dinamis dan menempatkan pengguna di halaman dinamis pertama dengan mengembalikan (melalui DWL_MSGRESULT) pengidentifikasi dialog halaman "Dinamis 1." Dalam contoh ini, ada tiga halaman dinamis.
    1. Pengantar
    2. Penyelesaian
    3. Dynamic 1 (Pengguna ada di sini)
    4. Dinamis 2
    5. Dinamis 3
  3. Setelah pengguna menavigasi melalui halaman dinamis ke "Dynamic 3" dan kemudian menavigasi ke halaman berikutnya, aplikasi harus menempatkan pengguna di halaman "Penyelesaian." Sekali lagi, ini dilakukan dengan mengembalikan (melalui DWL_MSGRESULT) pengidentifikasi dialog halaman "Penyelesaian."
    1. Pengantar
    2. Penyelesaian (Pengguna ada di sini)
    3. Dinamis 1
    4. Dinamis 2
    5. Dinamis 3
  4. Aplikasi kemudian dapat menghapus tiga halaman dinamis (berjumlah tiga hingga lima) dengan aman.
    1. Pengantar
    2. Penyelesaian (Pengguna ada di sini)

Perhatikan bahwa teknik ini hanya diperlukan jika wizard Anda menghapus halaman secara dinamis. Jika wizard Anda hanya menambahkan halaman secara dinamis, proses ini tidak diperlukan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2003 [hanya aplikasi desktop]
Header
Prsht.h