Fungsi panggilan balik PFNCOMPROPSHEET (compstui.h)

Fungsi ComPropSheet disediakan oleh CPSUI dan dapat dipanggil oleh aplikasi CPSUI (termasuk DLL antarmuka printer) untuk membangun halaman lembar properti.

Sintaks

PFNCOMPROPSHEET Pfncompropsheet;

LONG_PTR Pfncompropsheet(
  [in] HANDLE hComPropSheet,
  [in] UINT Function,
  [in] LPARAM lParam1,
  [in] LPARAM lParam2
)
{...}

Parameter

[in] hComPropSheet

Handel yang disediakan penelepon ke induk grup lembar properti. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini.

[in] Function

Kode fungsi ComPropSheet yang disediakan penelepon, CPSFUNC_ awalan yang menentukan operasi yang akan dilakukan oleh fungsi ComPropSheet . Lihat tabel kode fungsi ComPropSheet di bagian Keterangan di bawah ini.

[in] lParam1

Nilai yang disediakan penelepon yang bergantung pada kode fungsi ComPropSheet yang disediakan untuk Fungsi.

[in] lParam2

Nilai yang disediakan penelepon yang bergantung pada kode fungsi ComPropSheet yang disediakan untuk Fungsi.

Menampilkan nilai

Nilai yang dikembalikan tergantung pada kode fungsi ComPropSheet yang disediakan untuk Fungsi.

Keterangan

Ketika CPSUI memanggil salah satu fungsi yang diketik PFNPROPSHEETUI aplikasi, CPSUI meneruskan penunjuk ke fungsi ComPropSheet dalam struktur PROPSHEETUI_INFO . Fungsi yang diketik PFNPROPSHEETUI dapat memanggil fungsi ComPropSheet untuk menjelaskan halaman lembar properti ke CPSUI.

DLL antarmuka printer dapat memanggil ComPropSheet dari dalam fungsi DrvDocumentPropertySheets atau fungsi DrvDevicePropertySheets-nya.

Plug-in antarmuka pengguna untuk driver Unidrv dan Pscript Microsoft dapat memanggil ComPropSheet dari dalam metode IPrintOemUI::D ocumentPropertySheets dan IPrintOemUI::D evicePropertySheets mereka.

Handel induk grup yang ditentukan untuk parameter hComPropSheet dapat berupa salah satu dari berikut ini:

  • Handel yang diterima di anggota hComPropSheet dari struktur PROPSHEETUI_INFO .

  • Handel diterima sebagai hasil dari sebelumnya memanggil ComPropSheet dengan kode fungsi CPSFUNC_INSERT_PSUIPAGE , dan menentukan PSUIPAGEINSERT_GROUP_PARENT sebagai anggota Jenis untuk struktur INSERTPSUIPAGE_INFO .

Kode fungsi ComPropSheet

Kode fungsi berikut dapat diteruskan ke fungsi ComPropSheet CPSUI:

CPSFUNC_ADD_HPROPSHEETPAGE

Kode fungsi CPSFUNC_ADD_HPROPSHEETPAGE menyebabkan fungsi ComPropSheet menambahkan halaman lembar properti yang telah dibuat dengan memanggil fungsi CreatePropertySheetPage .

Parameter (CPSFUNC_ADD_HPROPSHEETPAGE)
  • hComPropSheet: Handel induk grup

  • Fungsi: Penelepon mengatur parameter kode fungsi ini ke CPSFUNC_ADD_HPROPSHEETPAGE saat memanggil ComPropSheet untuk menambahkan halaman lembar properti

  • lParam1: Menangani ke halaman lembar properti, diperoleh dengan memanggil fungsi CreatePropertySheetPage

  • lParam2: Tidak digunakan, harus nol

Nilai yang dikembalikan (CPSFUNC_ADD_HPROPSHEETPAGE)

Jika operasi berhasil, ComPropSheet mengembalikan handel CPSUI ke halaman yang ditambahkan; jika tidak, ia mengembalikan NULL.

CPSFUNC_ADD_PCOMPROPSHEETUI

Kode fungsi CPSFUNC_ADD_PCOMPROPSHEETUI menyebabkan fungsi ComPropSheet menambahkan satu atau beberapa halaman lembar properti yang dijelaskan oleh struktur COMPROPSHEETUI .

Parameter
  • hComPropSheet: Handel induk grup

  • Fungsi: Penelepon mengatur parameter kode fungsi ini ke CPSFUNC_ADD_PCOMPROPSHEETUI saat memanggil ComPropSheet untuk menambahkan satu set halaman lembar properti atau lebih

  • lParam1: Penunjuk ke struktur COMPROPSHEETUI

  • lParam2: Penunjuk ke lokasi 32-bit untuk menerima jumlah halaman yang ditambahkan atau, jika kegagalan terjadi, kode kesalahan awalan ERR_CPSUI

Menampilkan nilai

Jika operasi berhasil, ComPropSheet mengembalikan handel ke kumpulan halaman yang ditambahkan; jika tidak, fungsi mengembalikan NULL.

CPSFUNC_ADD_PFNPROPSHEETUI

Kode fungsi CPSFUNC_ADD_PFNPROPSHEETUI menyebabkan fungsi ComPropSheet memanggil fungsi berjenis PFNPROPSHEETUI yang ditentukan, yang harus menambahkan satu set halaman lembar properti atau lebih.

Parameter (CPSFUNC_ADD_PFNPROPSHEETUI)
  • hComPropSheet: Handel induk grup

  • Fungsi: Penelepon mengatur parameter kode fungsi ini ke CPSFUNC_ADD_PFNPROPSHEETUI saat memanggil ComPropSheet. ComPropSheet kemudian memanggil fungsi yang diketik PFNPROPSHEETUI yang ditentukan untuk menambahkan satu set halaman lembar properti atau lebih.

  • lParam1: Penunjuk ke fungsi berjenis PFNPROPSHEETUI

  • lParam2: Nilai 32-bit yang diteruskan ke fungsi tipe PFNPROPSHEETUI untuk parameter lParam-nya

Nilai yang dikembalikan (CPSFUNC_ADD_PFNPROPSHEETUI)

Jika operasi berhasil, ComPropSheet mengembalikan handel ke kumpulan halaman yang ditambahkan; jika tidak, fungsi mengembalikan NULL.

CPSFUNC_ADD_PROPSHEETPAGE

Kode fungsi CPSFUNC_ADD_PROPSHEETPAGE menyebabkan fungsi ComPropSheet menambahkan jenis halaman lembar properti yang dijelaskan oleh struktur PROPSHEETPAGE .

Parameter (CPSFUNC_ADD_PROPSHEETPAGE)
  • hComPropSheet: Handel induk grup

  • Fungsi: Penelepon mengatur parameter kode fungsi ini ke CPSFUNC_ADD_PROPSHEETPAGE saat memanggil ComPropSheet untuk menambahkan jenis halaman lembar properti yang dijelaskan oleh struktur PROPSHEETPAGE . Fungsi ComPropSheet memanggil fungsi CreatePropertySheetPage , dan meneruskan alamat struktur PROPSHEETPAGE untuk membuat halaman.

  • lParam1: Penunjuk ke struktur PROPSHEETPAGE

  • lParam2: Tidak digunakan, harus nol

Nilai yang dikembalikan (CPSFUNC_ADD_PROPSHEETPAGE)

Jika operasi berhasil, ComPropSheet mengembalikan handel CPSUI ke halaman yang ditambahkan; jika tidak, ia mengembalikan NULL.

CPSFUNC_DELETE_HCOMPROPSHEET

Kode fungsi CPSFUNC_DELETE_HCOMPROPSHEET menyebabkan fungsi ComPropSheet menghapus sekumpulan halaman lembar properti yang ditentukan oleh handel CPSUI.

Parameter (CPSFUNC_DELETE_HCOMPROPSHEET)
  • hComPropSheet: Handel induk grup

  • Fungsi: Penelepon mengatur parameter kode fungsi ini ke CPSFUNC_DELETE_HCOMPROPSHEET saat memanggil ComPropSheet untuk menghapus sekumpulan halaman lembar properti

  • lParam1: Handel CPSUI yang mengacu pada kumpulan halaman yang akan dihapus. Handel ini sebelumnya harus diperoleh dengan panggilan ke ComPropSheet dengan salah satu kode fungsi berikut:

    • CPSFUNC_ADD_HPROPSHEETPAGE

    • CPSFUNC_ADD_PCOMPROPSHEETUI

    • CPSFUNC_ADD_PFNPROPSHEETUI

    • CPSFUNC_ADD_PROPSHEETPAGE

    • CPSFUNC_INSERT_PSUIPAGE

  • lParam2: Tidak digunakan, harus nol

Nilai yang dikembalikan (CPSFUNC_DELETE_HCOMPROPSHEET)

Fungsi ComPropSheet mengembalikan jumlah halaman lembar properti yang dihapus.

CPSFUNC_DO_APPLY_CPSUI

Kode fungsi CPSFUNC_DO_APPLY_CPSUI menyebabkan fungsi ComPropSheet mensimulasikan pengiriman pesan pemberitahuan PSN_APPLY.

CPSUI menanggapi kode fungsi CPSFUNC_DO_APPLY_CPSUI dengan memberikan alasan CPSUICB_REASON_APPLYNOW ke fungsi panggilan balik yang diketik _CPSUICALLBACK aplikasi.

Parameter (CPSFUNC_DO_APPLY_CPSUI)
  • hComPropSheet: Handel induk grup

  • Fungsi: Penelepon mengatur parameter kode fungsi ini ke CPSFUNC_DO_APPLY_CPSUI saat memanggil ComPropSheet untuk mensimulasikan pengiriman pesan pemberitahuan PSN_APPLY

  • lParam1: CPSUI menangani yang menunjuk ke satu set halaman lembar properti atau lebih. Biasanya, handel ini sebelumnya telah ditentukan sebagai parameter lParam1 ke ComPropSheet menggunakan kode fungsi CPSFUNC_IGNORE_CPSUI_PSN_APPLY .

  • lParam2: Parameter ini adalah kombinasi dari bendera bit berikut:

    • APPLYCPSUI_NO_NEWDEF - Atur bendera ini jika Anda tidak ingin nilai default saat ini (digunakan untuk operasi Batalkan) diubah. Hapus bendera ini jika Anda ingin nilai saat ini untuk semua opsi menjadi default yang digunakan untuk operasi Batalkan.

    • APPLYCPSUI_OK_CANCEL_BUTTON - Atur bendera ini jika pengguna memilih tombol OK atau Batal (atau jika Anda ingin mensimulasikan aktivitas ini). Hapus bendera ini jika pengguna memilih tombol Tutup atau Terapkan Sekarang (atau jika Anda ingin mensimulasikan aktivitas ini). Jika kode Anda disiapkan untuk menerima pesan PSN_APPLY , kode harus memeriksa anggota lParam dari struktur PSHNOTIFY . Jika anggota nol, bit ini harus dibersihkan.

Nilai yang dikembalikan (CPSFUNC_DO_APPLY_CPSUI)

Jika operasi berhasil, fungsi ComPropSheet mengembalikan nilai bukan nol; jika tidak, ia mengembalikan nol dan halaman yang ditentukan akan menjadi aktif.

Jika Anda menggunakan kode fungsi CPSFUNC_IGNORE_CPSUI_PSN_APPLY untuk menonaktifkan penanganan CPSUI dari pesan pemberitahuan PSN_APPLY, Anda harus menggunakan kode fungsi CPSFUNC_DO_APPLY_CPSUI untuk mensimulasikan pengiriman pesan PSN_APPLY. Jika tidak, perubahan pengguna pada halaman lembar properti tidak dapat diperoleh.

CPSFUNC_GET_HPSUIPAGES

Kode fungsi CPSFUNC_GET_HPSUIPAGES menyebabkan fungsi ComPropSheet mengembalikan array handel CPSUI yang menunjuk ke halaman lembar properti. Penanganan ini mengidentifikasi halaman anak yang terkait dengan handel induk grup yang ditentukan.

Untuk menggunakan kode fungsi ini, ikuti langkah-langkah berikut:

  • Panggil ComPropSheet, yang menentukan kode fungsi CPSFUNC_GET_PAGECOUNT , untuk mendapatkan jumlah halaman anak yang terkait dengan induk grup yang ditentukan.

  • Alokasikan memori lokal yang cukup untuk berisi struktur HANDLE untuk setiap halaman.

  • Panggil ComPropSheet lagi, menentukan kode fungsi CPSFUNC_GET_HPSUIPAGES dan alamat memori yang dialokasikan secara lokal, untuk mendapatkan array struktur HANDLE.

Parameter (CPSFUNC_GET_HPSUIPAGES)
  • hComPropSheet: Handel induk grup

  • Fungsi: Pemanggil mengatur parameter kode fungsi ini ke CPSFUNC_GET_HPSUIPAGES saat memanggil ComPropSheet untuk mengambil array handel CPSUI

  • lParam1: Penunjuk ke array struktur HANDLE

  • lParam2: Ukuran array HANDLE yang diarahkan oleh lParam1

Mengembalikan nilai (CPSFUNC_GET_HPSUIPAGES)

Fungsi ComPropSheet mengembalikan jumlah handel yang ditempat CPSUI ke dalam array HANDLE.

CPSFUNC_GET_PAGECOUNT

Kode fungsi CPSFUNC_GET_PAGECOUNT menyebabkan fungsi ComPropSheet mengembalikan jumlah halaman lembar properti yang merupakan halaman anak dari handel induk grup yang ditentukan.

Parameter (CPSFUNC_GET_PAGECOUNT)
  • hComPropSheet: Handel induk grup

  • Fungsi: Pemanggil mengatur parameter kode fungsi ini ke CPSFUNC_GET_PAGECOUNT saat memanggil ComPropSheet untuk mengembalikan jumlah halaman anak

  • lParam1: Tidak digunakan, harus nol

  • lParam2: Tidak digunakan, harus nol

Nilai yang dikembalikan (CPSFUNC_GET_PAGECOUNT)

Fungsi ComPropSheet mengembalikan jumlah halaman yang dihitung.

CPSFUNC_GET_PFNPROPSHEETUI_ICON

Kode fungsi CPSFUNC_GET_PFNPROPSHEETUI_ICON menyebabkan fungsi ComPropSheet mengembalikan handel ke ikon yang terkait dengan sekumpulan halaman lembar properti. Kumpulan halaman harus telah dibuat sebelumnya oleh fungsi berjenis PFNPROPSHEETUI.

Fungsi ComPropSheet memanggil fungsi yang diketik PFNPROPSHEETUI yang terkait dengan handel halaman yang ditentukan, dan meneruskan nilai alasan PROPSHEETUI_REASON_GET_ICON. Fungsi berjenis PFNPROPSHEETUI kemudian memanggil LoadImage dan menyediakan ukuran ikon yang ditentukan bylParam2 untuk memuat sumber daya ikon.

Parameter (CPSFUNC_GET_PFNPROPSHEETUI_ICON)
  • hComPropSheet: Handel induk grup

  • Fungsi: Penelepon mengatur parameter kode fungsi ini ke CPSFUNC_GET_PFNPROPSHEETUI_ICON saat memanggil ComPropSheet untuk mengambil handel ke ikon yang terkait dengan sekumpulan halaman lembar properti

  • lParam1: Handel CPSUI yang mengacu pada sekumpulan halaman lembar properti. Handel ini sebelumnya harus diperoleh dengan panggilan ke ComPropSheet dengan kode fungsi CPSFUNC_ADD_PFNPROPSHEETUI .

  • lParam2: Menentukan dua nilai berukuran WORD yang mewakili ukuran ikon, dalam piksel. Nilai LOWORD adalah lebar, dan nilai HIWORD adalah tingginya. Jika nilai ini nol, metrik sistem SM_CXICON dan SM_CYICON digunakan. Untuk informasi selengkapnya, lihat GetSystemMetrics.

Nilai yang dikembalikan (CPSFUNC_GET_PFNPROPSHEETUI_ICON)

Jika operasi berhasil, fungsi ComPropSheet mengembalikan handel ikon; jika tidak, ia mengembalikan NULL.

CPSFUNC_IGNORE_CPSUI_PSN_APPLY

Kode fungsi CPSFUNC_IGNORE_CPSUI_PSN_APPLY menyebabkan fungsi ComPropSheet menonaktifkan atau mengaktifkan kembali penanganan CPSUI dari pesan pemberitahuan PSN_APPLY .

Sistem mengirimkan pesan pemberitahuan PSN_APPLY ke CPSUI saat pengguna memilih tombol OK atau Batalkan lembar properti. CPSUI merespons pesan ini dengan memberikan alasan CPSUICB_REASON_APPLYNOW ke fungsi panggilan balik yang diketik _CPSUICALLBACK aplikasi.

Jika Anda menonaktifkan penanganan CPSUI dari pesan pemberitahuan PSN_APPLY, Anda harus menggunakan kode fungsi CPSFUNC_DO_APPLY_CPSUI untuk mensimulasikan pengiriman pesan PSN_APPLY. Jika tidak, perubahan pengguna pada halaman lembar properti tidak dapat diperoleh.

Jika kode fungsi CPSFUNC_IGNORE_CPSUI_PSN_APPLY tidak digunakan, penanganan CPSUI terhadap pesan pemberitahuan PSN_APPLY diaktifkan secara default.

Parameter (CPSFUNC_IGNORE_CPSUI_PSN_APPLY)
  • hComPropSheet: Handel induk grup

  • Fungsi: Pemanggil mengatur parameter kode fungsi ini ke CPSFUNC_IGNORE_CPSUI_PSN_APPLY saat memanggil ComPropSheet untuk menonaktifkan atau mengaktifkan kembali penanganan CPSUI dari pesan pemberitahuan PSN_APPLY

  • lParam1: Handel CPSUI yang merujuk ke satu set halaman lembar properti atau lebih. Handel ini sebelumnya harus diperoleh dengan panggilan ke ComPropSheet dengan kode fungsi CPSFUNC_ADD_PCOMPROPSHEETUI, atau dengan kode fungsi CPSFUNC_INSERT_PSUIPAGE dan jenis penyisipan PSUIPAGEINSERT_PROPSHEETPAGE.

  • lParam2: Setiap nilai bukan nol menonaktifkan pengiriman CPSUI dari alasan CPSUICB_REASON_APPLYNOW . Nilai nol mengaktifkan kembali pengiriman alasan CPSUICB_REASON_APPLYNOW .

Mengembalikan nilai (CPSFUNC_IGNORE_CPSUI_PSN_APPLY)

Jika operasi berhasil, fungsi ComPropSheet mengembalikan nilai bukan nol; jika tidak, ia mengembalikan nol.

CPSFUNC_INSERT_PSUIPAGE

Kode fungsi CPSFUNC_INSERT_PSUIPAGE menyebabkan fungsi ComPropSheet menyisipkan sekumpulan halaman lembar properti pada posisi tertentu.

Parameter (CPSFUNC_INSERT_PSUIPAGE)
  • hComPropSheet: Handel induk grup

  • Fungsi: Pemanggil mengatur parameter kode fungsi ini ke CPSFUNC_INSERT_PSUIPAGE saat memanggil ComPropSheet untuk menyisipkan sekumpulan halaman lembar properti pada posisi tertentu

  • lParam1: Menentukan handel ke satu set satu atau beberapa halaman lembar properti. Halaman baru akan disisipkan sebelum atau sesudah halaman ini, tergantung pada anggota Mode struktur INSERTPSUIPAGE_INFO yang ditujukkan oleh lParam2. Handel ini sebelumnya harus diperoleh dengan panggilan ke ComPropSheet dengan salah satu kode fungsi berikut:

    • CPSFUNC_ADD_HPROPSHEETPAGE

    • CPSFUNC_ADD_PCOMPROPSHEETUI

    • CPSFUNC_ADD_PFNPROPSHEETUI

    • CPSFUNC_ADD_PROPSHEETPAGE

    • CPSFUNC_INSERT_PSUIPAGE

  • lParam2: Penunjuk ke struktur INSERTPSUIPAGE_INFO , menjelaskan di mana dan bagaimana halaman baru harus disisipkan

Nilai yang dikembalikan (CPSFUNC_INSERT_PSUIPAGE)

Jika operasi berhasil, fungsi ComPropSheet mengembalikan handel ke kumpulan halaman yang disisipkan; jika tidak, fungsi mengembalikan NULL.

CPSFUNC_LOAD_CPSUI_ICON

Kode fungsi CPSFUNC_LOAD_CPSUI_ICON menyebabkan fungsi ComPropSheet memuat sumber daya ikon yang disediakan CPSUI.

CPSUI memanggil LoadImage untuk memuat sumber daya ikon yang ditentukan.

Parameter (CPSFUNC_LOAD_CPSUI_ICON)
  • hComPropSheet: Handel induk grup

  • Fungsi: Penelepon mengatur parameter kode fungsi ini ke CPSFUNC_LOAD_CPSUI_ICON saat memanggil ComPropSheet untuk memuat sumber daya ikon yang disediakan CPSUI

  • lParam1: Pengidentifikasi sumber daya ikon yang disediakan CPSUI yang akan dimuat. Ini harus menjadi pengidentifikasi awalan IDI_CPSUI seperti yang didefinisikan dalam Compstui.h.

  • lParam2: Menentukan dua nilai berukuran WORD yang mewakili ukuran ikon, dalam piksel. Nilai LOWORD adalah lebar, dan nilai HIWORD adalah tingginya. Jika nilai ini nol, metrik sistem SM_CXICON dan SM_CYICON digunakan. Untuk informasi selengkapnya, lihat GetSystemMetrics

Nilai yang dikembalikan (CPSFUNC_LOAD_CPSUI_ICON)

Jika operasi berhasil, fungsi ComPropSheet mengembalikan handel ikon; jika tidak, ia mengembalikan NULL.

CPSFUNC_LOAD_CPSUI_STRING

Kode fungsi CPSFUNC_LOAD_CPSUI_STRING menyebabkan fungsi ComPropSheet memuat sumber daya string yang disediakan CPSUI.

Fungsi ComPropSheet memanggil fungsi LoadString](/windows/win32/api/winuser/nf-winuser-loadstringw) untuk memuat string yang ditentukan.

Parameter (CPSFUNC_LOAD_CPSUI_STRING)
  • hComPropSheet: Handel induk grup

  • Fungsi: Penelepon mengatur parameter kode fungsi ini ke CPSFUNC_LOAD_CPSUI_STRING saat memanggil ComPropSheet untuk memuat sumber daya string yang disediakan CPSUI

  • lParam1: Penunjuk yang diketik LPSTR ke buffer yang dialokasikan penelepon, tempat string yang disediakan CPSUI yang ditentukan oleh HIWORD(lParam2) akan ditempatkan

  • lParam2: Berisi dua nilai yang disediakan penelepon berikut:

    • LOWORD(lParam2). Ukuran, dalam byte, dari buffer yang diacu oleh lParam1.

    • HIWORD(lParam2). Pengidentifikasi sumber daya string yang disediakan CPSUI yang akan dimuat. Ini harus merupakan pengidentifikasi awalan IDS_CPSUI seperti yang didefinisikan dalam Compstui.h.

Mengembalikan nilai (CPSFUNC_LOAD_CPSUI_STRING)

Jika operasi berhasil, fungsi ComPropSheet mengembalikan panjang string. Jika pengidentifikasi sumber daya yang tidak valid ditentukan, fungsi akan mengembalikan nol. Jika lParam1 adalah NULL atau LOWORD(lParam2) adalah nol, fungsi akan mengembalikan -1.

CPSFUNC_QUERY_DATABLOCK

Kode fungsi CPSFUNC_QUERY_DATABLOCK menyebabkan fungsi ComPropSheet mengambil blok data yang disediakan penelepon yang sebelumnya disimpan menggunakan kode fungsi CPSFUNC_SET_DATABLOCK .

Biasanya, kode fungsi ini digunakan oleh fungsi panggilan balik yang diketik _CPSUICALLBACK (ketika struktur CPSUICBPARAM fungsi berisi nilai Alasan CPSUICB_REASON_SETACTIVE) untuk mengambil nilai yang terkait dengan halaman lain sebelum halaman saat ini menjadi tidak aktif.

Parameter (CPSFUNC_QUERY_DATABLOCK)
  • hComPropSheet: Handel induk grup

  • Fungsi: Pemanggil mengatur parameter kode fungsi ini ke CPSFUNC_QUERY_DATABLOCK saat memanggil ComPropSheet untuk mengambil blok data yang disediakan penelepon

  • lParam1: Penunjuk ke struktur CPSUIDATABLOCK yang mengidentifikasi ukuran dan lokasi buffer untuk menerima blok data yang diminta

  • lParam2: Nilai pengidentifikasi berukuran DWORD, digunakan untuk mengidentifikasi struktur CPSUIDATABLOCK yang diminta. Nilai ini harus ditentukan dalam panggilan sebelumnya ke ComPropSheet menggunakan kode fungsi CPSFUNC_SET_DATABLOCK .

Mengembalikan nilai (CPSFUNC_QUERY_DATABLOCK)

Jika operasi berhasil, fungsi ComPropSheet mengembalikan nilai yang mewakili ukuran blok data yang diambil. Jika lParam1 adalah NULL, atau jika nilai anggota struktur CPSUIDATABLOCK yang disediakan adalah nol, ComPropSheet mengembalikan ukuran yang diperlukan untuk menyimpan blok data. Jika terjadi kesalahan, fungsi mengembalikan nilai yang kurang dari atau sama dengan nol.

CPSFUNC_SET_DATABLOCK

Kode fungsi CPSFUNC_SET_DATABLOCK menyebabkan fungsi ComPropSheet menyimpan blok data yang disediakan pemanggil. Anda dapat menggunakan kode fungsi ini untuk membuat informasi tentang halaman lembar properti tersedia untuk halaman lain.

Biasanya, kode fungsi ini digunakan oleh fungsi panggilan balik yang diketik _CPSUICALLBACK (ketika struktur CPSUICBPARAM fungsi berisi nilai Alasan CPSUICB_REASON_KILLACTIVE) untuk menyimpan nilai yang terkait dengan halaman sebelum menjadi tidak aktif.

Parameter (CPSFUNC_SET_DATABLOCK)
  • hComPropSheet: Handel induk grup

  • Fungsi: Penelepon mengatur parameter kode fungsi ini ke CPSFUNC_SET_DATABLOCK saat memanggil ComPropSheet untuk menyimpan blok data yang disediakan penelepon

  • lParam1: Penunjuk ke struktur CPSUIDATABLOCK yang menjelaskan blok data yang akan disimpan

  • lParam2: Nilai pengidentifikasi berukuran DWORD yang ditentukan penelepon. Ini digunakan untuk mengidentifikasi struktur CPSUIDATABLOCK yang disediakan dalam panggilan berikutnya ke ComPropSheet menggunakan kode fungsi CPSFUNC_QUERY_DATABLOCK .

Mengembalikan nilai (CPSFUNC_SET_DATABLOCK)

Jika operasi berhasil, fungsi ComPropSheet mengembalikan nilai yang mewakili jumlah byte yang disimpan; jika tidak, nilainya kurang dari atau sama dengan nol.

CPSFUNC_SET_DMPUB_HIDEBITS

Kode fungsi CPSFUNC_SET_DMPUB_HIDEBITS menyebabkan fungsi ComPropSheet "menyembunyikan" sekumpulan opsi properti dokumen yang ditentukan, sehingga tidak ditampilkan.

Anda dapat menggunakan kode fungsi CPSFUNC_SET_DMPUB_HIDEBITS jika Anda ingin menentukan struktur OPTITEM untuk satu atau beberapa opsi lembar properti dokumen, tetapi Anda tidak ingin opsi dapat dimodifikasi pengguna. Halaman lembar properti harus ditentukan menggunakan struktur COMPROPSHEETUI , dan anggota pDlgPage struktur harus CPSUI_PDLGPAGE_DOCPROP atau CPSUI_PDLGPAGE_ADVDOCPROP.

Jika Anda menggunakan kode fungsi CPSFUNC_SET_DMPUB_HIDEBITS , kode tersebut harus ditentukan ke ComPropSheet sebelum kode fungsi CPSFUNC_ADD_PCOMPROPSHEETUI atau CPSFUNC_INSERT_PSUIPAGE digunakan untuk membuat halaman.

Parameter (CPSFUNC_SET_DMPUB_HIDEBITS)
  • hComPropSheet: Handel induk grup

  • Fungsi: Pemanggil mengatur parameter kode fungsi ini ke CPSFUNC_SET_DMPUB_HIDEBITS ketika memanggil ComPropSheet untuk "menyembunyikan" sekumpulan opsi properti dokumen tertentu

  • lParam1: Pointer ke array bit yang menunjukkan opsi untuk disembunyikan. Array ini harus dibuat menggunakan makro MAKE_DMPUB_HIDEBIT(DMPub), di mana DMPub adalah kombinasi OR dari satu atau beberapa konstanta awalan DMPUB_. Konstanta awalan DMPUB_ tercantum dalam deskripsi struktur OPTITEM . Makro dan konstanta ditentukan dalam Compstui.h.

  • lParam2: Tidak digunakan, harus nol

Nilai yang dikembalikan (CPSFUNC_SET_DMPUB_HIDEBITS)

Jika operasi berhasil, fungsi ComPropSheet mengembalikan nilai yang ditentukan untuk lParam1; jika tidak, ia mengembalikan nol.

CPSFUNC_SET_FUSION_CONTEXT

CPSFUNC_SET_FUSION_CONTEXT menetapkan konteks aktivasi Fusion untuk halaman yang ditentukan.

Ketika halaman akan dibuat atau disisipkan dan tidak menentukan konteks aktivasi dalam struktur PROPSHEETPAGE-nya , halaman tersebut akan dibuat dalam konteks aktivasi halaman induk.

Jika konteks aktivasi induk tidak diatur, maka Compstui.dll mencari induk induk, melanjutkan hingga induk tingkat atas tercapai atau sampai menemukan induk dengan konteks aktivasi yang diatur dengan benar.

Jika tidak ada induk yang memiliki kumpulan konteks aktivasi, maka Compstui.dll tidak akan menentukan konteks aktivasi dalam struktur PROPSHEETPAGE . Ini berarti bahwa halaman akan dibuat dalam konteks aktivasi pemanggil fungsi PropertySheet .

Parameter (CPSFUNC_SET_FUSION_CONTEXT)
  • hComPropSheet: Handel induk grup

  • Fungsi: Pemanggil mengatur parameter kode fungsi ini ke CPSFUNC_SET_FUSION_CONTEXT saat memanggil ComPropSheet untuk mengatur konteks aktivasi Fusion untuk halaman yang ditentukan

  • lParam1: Menentukan handel ke konteks Fusion. Compstui.dll menduplikasi handel, melampirkannya ke struktur internalnya, sehingga pemanggil tidak berkewajiban untuk mempertahankan handel. Compstui.dll merilis handel konteks yang diteruskan saat handel Compstui.dll dihapus.

  • lParam2: Tidak digunakan, harus nol

Mengembalikan nilai (CPSFUNC_SET_FUSION_CONTEXT)

Jika operasi berhasil, fungsi ComPropSheet mengembalikan nilai yang lebih besar dari nol. Jika tidak, ComPropSheet mengembalikan nilai yang kurang dari atau sama dengan nol. Untuk informasi tentang kesalahan, gunakan fungsi GetLastError .

CPSFUNC_SET_HSTARTPAGE

Kode fungsi CPSFUNC_SET_HSTARTPAGE menyebabkan fungsi ComPropSheet menandai halaman lembar properti tertentu menjadi halaman atas lembar properti terkait. Jika lembar properti saat ini sedang ditampilkan, halaman yang ditentukan menjadi halaman aktif.

Parameter (CPSFUNC_SET_HSTARTPAGE)
  • hComPropSheet: Handel induk grup

  • Fungsi: Pemanggil mengatur parameter kode fungsi ini ke CPSFUNC_SET_HSTARTPAGE saat memanggil ComPropSheet untuk menandai halaman lembar properti tertentu menjadi halaman atas lembar properti terkait

  • lParam1: Handel halaman CPSUI yang disediakan penelepon, sebelumnya diperoleh dengan panggilan ke ComPropSheet dengan salah satu kode fungsi berikut:

    • CPSFUNC_ADD_HPROPSHEETPAGE

    • CPSFUNC_ADD_PCOMPROPSHEETUI

    • CPSFUNC_ADD_PFNPROPSHEETUI

    • CPSFUNC_ADD_PROPSHEETPAGE

    • CPSFUNC_INSERT_PSUIPAGE

    Jika handel mewakili satu halaman milik grup yang ditentukan oleh hComPropSheet, CPSUI menjadikan halaman ini sebagai halaman atas.

    Jika handel mewakili handel induk grup (lihat CPSFUNC_INSERT_PSUIPAGE), maka lParam2 mewakili indeks berbasis nol ke dalam halaman grup dan halaman yang diwakili oleh indeks menjadi halaman atas.

  • lParam2: Jika lParam1 mewakili handel induk grup, nilai yang disediakan pemanggil ini adalah indeks berbasis nol ke dalam halaman grup. Jika lParam1 mewakili satu halaman milik grup yang ditentukan oleh hComPropSheet, parameter ini tidak digunakan. Jika handel yang ditentukan oleh lParam1 diperoleh menggunakan kode fungsi CPSFUNC_ADD_PCOMPROPSHEETUI , dan jika anggota pDlgPage dari struktur COMPROPSHEETUI terkait diatur ke CPSUI_PDLGPAGE_DOCPROP, maka salah satu nilai berikut dapat ditentukan untuk lParam2:

    • SSP_STDPAGE1 - Jadikan halaman Tata Letak sebagai halaman atas.

    • SSP_STDPAGE2 - Jadikan halaman Kertas/Kualitas di halaman atas.

    • SSP_TVPAGE - Jadikan halaman Tingkat Lanjut sebagai halaman atas.

Nilai yang dikembalikan (CPSFUNC_SET_HSTARTPAGE)

Jika operasi berhasil, fungsi ComPropSheet mengembalikan nilai yang ditentukan untuk lParam1; jika tidak, ia mengembalikan nol.

CPSFUNC_SET_PSUIPAGE_ICON

Kode fungsi CPSFUNC_SET_PSUIPAGE_ICON menyebabkan fungsi ComPropSheet menambahkan, mengganti, atau menghapus ikon yang ditetapkan ke tab halaman lembar properti.

Jika lParam2 berisi handel ikon, dan jika halaman yang ditentukan oleh lParam1 saat ini ditampilkan, CPSUI menambahkan ikon ke tab halaman yang ditentukan. Jika ikon sudah ditetapkan ke halaman, ikon lama diganti dengan ikon baru. Jika lParam2 adalah nol, ikon saat ini (jika ada) akan dihapus.

Untuk semua ikon yang ditentukan dengan kode fungsi CPSFUNC_SET_PSUIPAGE_ICON , CPSUI mengatur ukuran gambar menjadi 16 kali 16 piksel.

Handel ikon harus diperoleh dengan memanggil LoadImage.

Parameter (CPSFUNC_SET_PSUIPAGE_ICON)
  • hComPropSheet: Handel induk grup

  • Fungsi: Pemanggil mengatur parameter kode fungsi ini ke CPSFUNC_SET_PSUIPAGE_ICON saat memanggil ComPropSheet untuk menambahkan, mengganti, atau menghapus ikon yang ditetapkan ke tab halaman lembar properti

  • lParam1: Handel halaman CPSUI yang disediakan penelepon, sebelumnya diperoleh dengan panggilan ke ComPropSheet dengan salah satu kode fungsi berikut:

    • CPSFUNC_ADD_HPROPSHEETPAGE

    • CPSFUNC_ADD_PROPSHEETPAGE

    • CPSFUNC_INSERT_PSUIPAGE (dengan anggota Jenis struktur INSERTPSUIPAGE_INFO diatur ke PSUIPAGEINSERT_HPROPSHEETPAGE atau PSUIPAGEINSERT_PROPSHEETPAGE)

  • lParam2: Handel ikon yang disediakan penelepon. Anda dapat mengatur parameter ini ke nol untuk menghapus ikon saat ini

Mengembalikan nilai (CPSFUNC_SET_PSUIPAGE_ICON)

Jika operasi berhasil, fungsi ComPropSheet mengembalikan 1. Jika terjadi kesalahan, atau jika halaman yang ditentukan saat ini tidak ditampilkan, fungsi mengembalikan nol.

CPSFUNC_SET_PSUIPAGE_TITLE

Kode fungsi CPSFUNC_SET_PSUIPAGE_TITLE menyebabkan fungsi ComPropSheet mengatur judul tab untuk halaman lembar properti.

Parameter (CPSFUNC_SET_PSUIPAGE_TITLE)
  • hComPropSheet: Handel induk grup

  • Fungsi: Pemanggil mengatur parameter kode fungsi ini ke CPSFUNC_SET_PSUIPAGE_TITLE saat memanggil ComPropSheet untuk mengatur judul tab untuk halaman lembar properti

  • lParam1: Handel halaman CPSUI yang disediakan penelepon, sebelumnya diperoleh dengan panggilan ke ComPropSheet dengan salah satu kode fungsi berikut:

    • CPSFUNC_ADD_HPROPSHEETPAGE

    • CPSFUNC_ADD_PROPSHEETPAGE

    • CPSFUNC_INSERT_PSUIPAGE (dengan anggota Jenis struktur INSERTPSUIPAGE_INFO diatur ke PSUIPAGEINSERT_HPROPSHEETPAGE atau PSUIPAGEINSERT_PROPSHEETPAGE).

  • lParam2: Penunjuk yang disediakan penelepon ke string yang dihentikan NULL yang menentukan judul baru

Mengembalikan nilai (CPSFUNC_SET_PSUIPAGE_TITLE)

Jika operasi berhasil, fungsi ComPropSheet mengembalikan 1. Jika terjadi kesalahan, atau jika halaman yang ditentukan saat ini tidak ditampilkan, fungsi mengembalikan nol.

CPSFUNC_SET_RESULT

Kode fungsi CPSFUNC_SET_RESULT menyebabkan fungsi ComPropSheet meneruskan nilai hasil tertentu ke semua fungsi berjenis PFNPROPSHEETUI yang terkait dengan halaman tertentu dan orang tuanya.

Untuk informasi selengkapnya tentang cara mengatur nilai hasil, lihat deskripsi struktur SETRESULT_INFO .

Peringatan berikut berlaku untuk plug-in UI IHV berbasis Unidrv atau Pscript5 dengan lembar properti UI kustom, dan pengaturan pengguna mana yang dibuat di lembar properti harus persisten. Saat plug-in memanggil fungsi ComPropSheet dengan parameter Fungsi diatur ke CPSFUNC_SET_RESULT, plug-in harus mengatur parameter lParam2 ke CPSUI_OK.

Parameter (CPSFUNC_SET_RESULT)
  • hComPropSheet: Handel induk grup

  • Fungsi: Pemanggil mengatur parameter kode fungsi ini ke CPSFUNC_SET_RESULT ketika memanggil ComPropSheet untuk meneruskan nilai hasil tertentu ke semua fungsi yang diketik PFNPROPSHEETUI yang terkait dengan halaman tertentu dan orang tuanya.

  • lParam1: Handel CPSUI yang disediakan penelepon ke halaman yang nilai hasilnya sedang diteruskan. Jika lParam1 adalah NULL, CPSUI menggunakan nilai yang ditentukan oleh hComPropSheet.

  • lParam2: Nilai hasil DWORD 32-bit yang disediakan penelepon.

Mengembalikan nilai (CPSFUNC_SET_RESULT)

Jika operasi berhasil, fungsi ComPropSheet mengembalikan jumlah fungsi berjenis PFNPROPSHEETUI yang dipanggil. Jika handel yang ditentukan untuk lParam1 tidak valid, fungsi akan mengembalikan -1.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header compstui.h (termasuk Compstui.h)