Bagikan melalui


Fungsi panggilan balik PFNPROPSHEETCALLBACK (prsht.h)

Fungsi panggilan balik yang ditentukan aplikasi yang dipanggil sistem saat lembar properti sedang dibuat dan diinisialisasi.

Sintaks

PFNPROPSHEETCALLBACK Pfnpropsheetcallback;

int Pfnpropsheetcallback(
  HWND unnamedParam1,
  UINT unnamedParam2,
  LPARAM unnamedParam3
)
{...}

Parameter

unnamedParam1

Jenis: HWND

Tangani ke lembar properti. Parameter ini biasanya disebut hWnd.

unnamedParam2

Jenis: UINT

Pesan sedang diterima. Parameter ini biasanya disebut uMsg.

Parameter ini adalah salah satu nilai berikut.

Nilai Makna
PSCB_INITIALIZED (1)
Menunjukkan bahwa lembar properti sedang diinisialisasi. Nilai lParam (unnamedParam3) adalah nol untuk pesan ini.
PSCB_PRECREATE (2)
Menunjukkan bahwa lembar properti akan dibuat. Parameter hWnd (unnamedParam1) adalah NULL, dan parameter lParam (unnamedParam3) adalah alamat templat dialog dalam memori. Templat ini dalam bentuk struktur DLGTEMPLATE atau DLGTEMPLATEEX diikuti oleh satu atau beberapa struktur DLGITEMTEMPLATE . Pesan ini tidak berlaku jika Anda menggunakan gaya panduan Aero (PSH_AEROWIZARD).
PSCB_BUTTONPRESSED (3)

Versi 6.0 dan yang lebih baru. Menunjukkan pengguna menekan tombol dalam kotak dialog lembar properti. Untuk mengaktifkan ini, tentukan PSH_USECALLBACK di PROPSHEETHEADER.dwFlags dan tentukan nama fungsi panggilan balik ini di PROPSHEETHEADER.pfnCallback. Nilai lParam (Arg3) adalah salah satu dari berikut ini. Perhatikan bahwa hanya PSBTN_CANCEL yang valid saat Anda menggunakan gaya wizard Aero (PSH_AEROWIZARD).

Tombol ditekan Nilai lParam
OK PSBTN_OK
Batalkan PSBTN_CANCEL
Terapkan PSBTN_APPLYNOW
Tutup PSBTN_FINISH

Perhatikan bahwa Comctl32.dll versi 6 dan yang lebih baru tidak dapat didistribusikan ulang. Untuk menggunakan versi Comctl32.dll ini, tentukan versi tertentu dalam manifes. Untuk informasi selengkapnya tentang manifes, lihat Mengaktifkan Gaya Visual.

unnamedParam3

Jenis: LPARAM

Informasi tambahan tentang pesan. Parameter ini biasanya disebut lParam.

Arti nilai ini tergantung pada parameter uMsg (unnamedParam2):

  • Jika uMsg PSCB_INITIALIZED atau PSCB_BUTTONPRESSED, nilai parameter ini adalah nol.

  • Jika uMsg PSCB_PRECREATE, maka parameter ini akan menjadi penunjuk ke struktur DLGTEMPLATE atau DLGTEMPLATEEX yang menjelaskan kotak dialog lembar properti. Uji tanda tangan struktur untuk menentukan jenisnya. Jika tanda tangan sama dengan 0xFFFF maka strukturnya adalah templat dialog yang diperluas, jika tidak, strukturnya adalah templat dialog standar. Contoh berikut menunjukkan cara melakukannya.

    if (uMsg == PSCB_PRECREATE) 
    {
         if (lParam)
         {
              DLGTEMPLATE *pDlgTemplate;
              DLGTEMPLATEEX *pDlgTemplateEx;
    
              pDlgTemplateEx = (DLGTEMPLATEEX *)lParam;  
              if (pDlgTemplateEx->signature == 0xFFFF)
              {
                   // pDlgTemplateEx points to an extended  
                   // dialog template structure.
              }
              else
              {
                   // This is a standard dialog template
                   //  structure.
                   pDlgTemplate = (DLGTEMPLATE *)lParam;
              }
         }    
    }
    

Nilai kembali

Jenis: int

Mengembalikan nol.

Keterangan

Untuk mengaktifkan fungsi panggilan balik PropSheetProc , gunakan struktur PROPSHEETHEADER saat Anda memanggil fungsi PropertySheet untuk membuat lembar properti. Gunakan anggota pfnCallback untuk menentukan alamat fungsi panggilan balik, dan atur bendera PSP_USECALLBACK di anggota dwFlags .

PropSheetProc adalah tempat penampung untuk nama fungsi yang ditentukan aplikasi. Jenis PFNPROPSHEETCALLBACK adalah alamat fungsi panggilan balik PropSheetProc .

Persyaratan

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