Bagikan melalui


Metode IContextMenuSite::D oContextMenuPopup (shobjidl_core.h)

[DoContextMenuPopup tidak lagi tersedia untuk digunakan pada Windows Server 2003.]

Membuat dan menampilkan menu pintasan, melacak pilihan item pada menu tersebut, dan memanggil perintah yang dipilih.

Sintaks

HRESULT DoContextMenuPopup(
  [in] IUnknown *punkContextMenu,
  [in] UINT     fFlags,
  [in] POINT    pt
);

Parameter

[in] punkContextMenu

Jenis: IUnknown*

Penunjuk ke implementasi IUnknown menu pintasan.

[in] fFlags

Jenis: UINT

Bendera opsional yang menentukan bagaimana menu pintasan dapat diubah. Parameter ini dapat diatur ke kombinasi apa pun dari nilai berikut. Bit yang tersisa dari kata urutan rendah dicadangkan oleh sistem. Kata urutan tinggi dapat digunakan untuk komunikasi khusus konteks. Nilai CMF_RESERVED dapat digunakan untuk menutupi kata berurutan rendah.

CMF_NORMAL (0x00000000)

0x00000000. Menunjukkan operasi normal. Ekstensi menu pintasan, ekstensi namespace, atau handler seret dan letakkan dapat menambahkan semua item menu.

CMF_DEFAULTONLY (0x00000001)

0x00000001. Bendera ini diatur saat pengguna mengaktifkan tindakan default, biasanya dengan mengklik dua kali. Bendera ini memberikan petunjuk untuk ekstensi menu pintasan untuk menambahkan apa pun jika tidak mengubah item default di menu. Ekstensi menu pintasan atau penangan seret dan letakkan tidak boleh menambahkan item menu apa pun jika nilai ini ditentukan. Ekstensi namespace hanya boleh menambahkan item default (jika ada).

CMF_VERBSONLY (0x00000002)

0x00000002. Bendera ini diatur jika menu pintasan adalah untuk objek pintasan. Penangan menu pintasan harus mengabaikan nilai ini.

CMF_EXPLORE (0x00000004)

0x00000004. Bendera ini diatur ketika jendela pohon Windows Explorer ada.

CMF_NOVERBS (0x00000008)

0x00000008. Bendera ini diatur untuk item yang ditampilkan di menu Kirim Ke . Penangan menu pintasan harus mengabaikan nilai ini.

CMF_CANRENAME (0x00000010)

0x00000010. Bendera ini diatur jika aplikasi panggilan mendukung penggantian nama item. Ekstensi menu pintasan atau penangan seret dan letakkan harus mengabaikan bendera ini. Ekstensi namespace harus menambahkan item ganti nama ke menu jika berlaku.

CMF_NODEFAULT (0x00000020)

0x00000020. Bendera ini diatur jika tidak ada item di menu yang telah ditetapkan sebagai default. Handler seret dan letakkan harus mengabaikan bendera ini. Ekstensi namespace tidak boleh mengatur item menu apa pun ke default.

CMF_INCLUDESTATIC (0x00000040)

Nilai ini tidak tersedia.

Windows Server 2003 dan Windows XP: 0x00000040. Bendera ini diatur ketika menu statis sedang dibangun. Hanya browser yang harus menggunakan bendera ini. Semua ekstensi menu pintasan lainnya harus mengabaikan bendera ini.

CMF_ITEMMENU (0x00000080)

0x00000080. Bendera ini diatur ketika aplikasi panggilan memanggil menu konteks pada item dalam tampilan (dibandingkan dengan latar belakang tampilan).

Windows Server 2003 dan Windows XP: Nilai ini tidak tersedia.

CMF_EXTENDEDVERBS (0x00000100)

0x00000100. Bendera ini diatur ketika aplikasi panggilan menginginkan kata kerja yang diperluas. Kata kerja normal ditampilkan saat pengguna mengklik kanan objek. Untuk menampilkan kata kerja yang diperluas, pengguna harus mengklik kanan sambil menekan tombol SHIFT.

CMF_DISABLEDVERBS (0x00000200)

0x00000200. Bendera ini diatur ketika aplikasi panggilan berniat untuk memanggil kata kerja yang dinonaktifkan, seperti menu warisan.

Windows Server 2003 dan Windows XP: Nilai ini tidak tersedia.

CMF_ASYNCVERBSTATE (0x00000400)

0x00000400. Bendera ini diatur jika status kata kerja dapat dievaluasi secara asinkron.

Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak tersedia.

CMF_OPTIMIZEFORINVOKE (0x00000800)

0x00000800. Menginformasikan penangan menu konteks yang tidak mendukung pemanggilan kata kerja melalui nama kata kerja kanonis untuk melewati pemrosesan tersebut dalam implementasi IContextMenu::QueryContextMenu mereka.

Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak tersedia.

CMF_SYNCCASCADEMENU (0x00001000)

0x00001000.

Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak tersedia.

CMF_DONOTPICKDEFAULT (0x00002000)

0x00001000. Ketika tidak ada kata kerja yang ditentukan secara eksplisit, jangan gunakan kata kerja default di tempatnya.

Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak tersedia.

CMF_RESERVED (0xffff0000)

0xffff0000. Bendera ini adalah bitmask yang menentukan semua bit yang tidak boleh digunakan. Ini hanya akan digunakan sebagai masker. Jangan teruskan ini sebagai nilai parameter.

[in] pt

Jenis: TITIK

Lokasi tempat Anda ingin menu pintasan muncul. Titik ini menentukan lokasi sudut kiri atas menu dalam koordinat layar.

Nilai kembali

Jenis: HRESULT

Jika metode ini berhasil, metode ini mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Persyaratan

   
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Tidak ada yang didukung
Target Platform Windows
Header shobjidl_core.h (termasuk Shobjidl.h)
DLL Shell32.dll (versi 5.0 atau yang lebih baru)