Antarmuka IApplicationDesignModeSettings (shobjidl_core.h)
Memungkinkan aplikasi alat pengembangan untuk secara dinamis spoof sistem dan status pengguna, seperti resolusi tampilan asli, faktor skala perangkat, dan status tampilan aplikasi, untuk tujuan pengujian aplikasi Windows Store yang berjalan dalam mode desain untuk berbagai faktor bentuk tanpa perlu perangkat keras yang sebenarnya. Juga memungkinkan pengujian perubahan dalam status yang biasanya dikontrol pengguna untuk menguji aplikasi Windows Store di bawah berbagai skenario.
Warisan
Antarmuka IApplicationDesignModeSettings mewarisi dari antarmuka IUnknown . IApplicationDesignModeSettings juga memiliki jenis anggota berikut:
Metode
Antarmuka IApplicationDesignModeSettings memiliki metode ini.
IApplicationDesignModeSettings::ComputeApplicationSize Mendapatkan ukuran aplikasi Bursa Windows, berdasarkan kumpulan pengaturan spoofed saat ini. |
IApplicationDesignModeSettings::IsApplicationViewStateSupported Menentukan apakah status tampilan aplikasi tertentu didukung untuk ukuran tampilan spoofed tertentu dan pengaturan faktor skala. |
IApplicationDesignModeSettings::SetApplicationViewState Mengatur status tampilan aplikasi spoofed (lanskap layar penuh, potret layar penuh, diisi, atau diposisikan) yang akan digunakan untuk aplikasi Bursa Windows yang berjalan dalam mode desain. |
IApplicationDesignModeSettings::SetNativeDisplaySize Mengatur ukuran tampilan asli spoofed yang akan digunakan untuk aplikasi Windows Store yang berjalan dalam mode desain. |
IApplicationDesignModeSettings::SetScaleFactor Mengatur faktor skala perangkat spoofed yang akan digunakan untuk aplikasi Bursa Windows yang berjalan dalam mode desain. |
IApplicationDesignModeSettings::TriggerEdgeGesture Mengirim peristiwa gerakan tepi yang spoofed ke jendela inti proksi pada utas pemanggil. Gerakan ini mengubah bilah aplikasi aplikasi, jika aplikasi mendukungnya. Pemanggil dapat menentukan jenis input yang memicu gerakan tepi. |
Keterangan
Antarmuka ini diperoleh dengan membuat CLSID_ApplicationDesignModeSettings.
Pengguna biasanya akan mengikuti pola penggunaan yang mirip dengan yang berikut ini:
- Panggil CoCreateInstance dengan CLSID_ApplicationDesignModeSettings untuk membuat objek pengaturan mode desain aplikasi pada utas dalam proses aplikasi Windows Store.
- Panggil QueryInterface pada objek pengaturan mode desain aplikasi untuk mendapatkan objek IInitializeWithWindow .
- Panggil metode Inisialisasi objek IInitializeWithWindow , melewati HWND untuk jendela inti proksi. Ini harus dilakukan sebelum metode "set" dipanggil, dan hanya akan berhasil sekali per proses. Untuk contoh kode, lihat [Tampilkan objek UI WinRT yang bergantung pada CoreWindow](/windows/apps/develop/ui-input/display-ui-objects#winui-3-with-c).
- Panggil QueryInterface untuk IApplicationDesignModeSettings dan spoof status pengujian yang diperlukan dengan memanggil metode yang sesuai (SetNativeDisplaySize, SetScaleFactor, dll.). Metode ini akan memicu peristiwa Windows Runtime yang sesuai untuk diaktifkan untuk aplikasi Windows Store.
- Panggil metode ComputeApplicationSize untuk menentukan ukuran yang tepat untuk aplikasi, berdasarkan status spoofed saat ini. Semua metode "set" tata letak harus sudah dipanggil atau panggilan ini akan gagal. Aplikasi alat pengembang bertanggung jawab untuk memposisikan dan mengukur jendela aplikasi, jika sesuai.
Kapan harus menerapkan
Jangan terapkan antarmuka ini; implementasi disediakan dengan Windows.Kapan harus digunakan
Gunakan metode antarmuka ini untuk menguji aplikasi Windows Store Anda di bawah berbagai konfigurasi dan skenario yang spoofed.Contoh
Contoh ini menunjukkan metode antarmuka ini yang digunakan.
IApplicationDesignModeSettings *pDesignModeSettings;
// CoCreate the design mode settings object
HRESULT hr = CoCreateInstance(CLSID_ApplicationDesignModeSettings, nullptr, CLSCTX_INPROC, IID_PPV_ARGS(&pDesignModeSettings));
if (SUCCEEDED(hr))
{
IInitializeWithWindow *pInitializeWithWindow;
hr = pDesignModeSettings->QueryInterface(IID_PPV_ARGS(&pInitializeWithWindow);
if (SUCCEEDED(hr))
{
// Before we spoof any state, we must first initialize the design
// mode settings object with a proxy core window. Since apps
// running in design mode don't have an actual core window, we must
// supply an HWND that can be used as a proxy.
hr = pInitializeWithWindow->Initialize(hwndProxyCoreWindow);
pInitializeWithWindow->Release();
}
if (SUCCEEDED(hr))
{
// Verify that our desired spoofed settings are supported.
SIZE sizeNativeDisplay = {1366, 768};
SCALE_FACTOR scaleFactor = SCALE_100_PERCENT;
APPLICATION_VIEW_STATE viewState = AVS_FULLSCREEN_LANDSCAPE;
BOOL fSupported;
hr = pDesignModeSettings->IsApplicationViewStateSupported(viewState,
sizeNativeDisplay,
scaleFactor,
&fSupported);
}
if (SUCCEEDED(hr) && fSupported))
{
// Set the spoofed native display size.
hr = pDesignModeSettings->SetNativeDisplaySize(sizeNativeDisplay);
if (SUCCEEDED(hr))
{
// Set the spoofed scale factor to 100%.
hr = pDesignModeSettings->SetScaleFactor(SCALE_100_PERCENT);
}
if (SUCCEEDED(hr))
{
// Set the spoofed application view state to full-screen landscape.
hr = pDesignModeSettings->SetApplicationViewState(AVS_FULLSCREEN_LANDSCAPE);
}
if (SUCCEEDED(hr))
{
// Now that all the necessary state has been spoofed, calculate
// the size that the app should occupy.
SIZE sizeApplication;
hr = pDesignModeSettings->ComputeApplicationSize(&sizeApplication);
}
}
pDesignModeSettings->Release();
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 [khusus aplikasi desktop] |
Server minimum yang didukung | Windows Server 2012 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | shobjidl_core.h (termasuk Shobjidl.h) |