Antarmuka IApplicationDesignModeSettings2 (shobjidl_core.h)
Memungkinkan aplikasi alat pengembangan mengontrol sistem dan status pengguna secara dinamis, seperti resolusi tampilan asli, faktor skala perangkat, dan tata letak tampilan aplikasi, yang dilaporkan ke aplikasi Bursa Windows untuk tujuan menguji 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 IApplicationDesignModeSettings2 mewarisi dari IApplicationDesignModeSettings. IApplicationDesignModeSettings2 juga memiliki jenis anggota ini:
Metode
Antarmuka IApplicationDesignModeSettings2 memiliki metode ini.
IApplicationDesignModeSettings2::GetApplicationSizeBounds Metode ini mengambil batas ukuran yang didukung oleh aplikasi. |
IApplicationDesignModeSettings2::GetApplicationViewOrientation Mendapatkan orientasi jendela mode desain aplikasi. |
IApplicationDesignModeSettings2::SetAdjacentDisplayEdges Mengatur apakah jendela aplikasi akan berdekatan dengan tepi tampilan yang ditimulasikan. |
IApplicationDesignModeSettings2::SetApplicationViewMinWidth Mengatur lebar minimum yang diinginkan dari jendela mode desain aplikasi. |
IApplicationDesignModeSettings2::SetApplicationViewOrientation Mengatur orientasi jendela yang digunakan untuk jendela mode desain. |
IApplicationDesignModeSettings2::SetIsOnLockScreen Metode ini menentukan apakah aplikasi, dalam mode desain, dapat menampilkan informasi pada layar kunci Windows 8 atau tidak. |
IApplicationDesignModeSettings2::SetNativeDisplayOrientation Mengatur orientasi tampilan yang ditiru untuk jendela mode desain. |
Keterangan
Antarmuka ini diperoleh dengan membuat CLSID_ApplicationDesignModeSettings. Ini adalah ekstensi dari antarmuka IApplicationDesignModeSettings asli.
Contoh
Dalam contoh ini, Visual Studio meluncurkan aplikasi dalam mode desain yang telah menimpa lebar minimum pada tampilan ukuran 1366x768. Ini kemudian memungkinkan kontrol slider yang memungkinkan pengguna untuk secara dinamis mengubah lebar aplikasi. Untuk melakukan ini, perlu menggunakan API SetApplicationViewMinWidth dan GetApplicationSizeBounds baru untuk menghitung ukuran minimum dan maksimum yang diizinkan untuk jenis aplikasi ini.
Untuk informasi selengkapnya tentang IInitializeWithWindow::Initialize, lihat Menampilkan objek UI WinRT yang bergantung pada CoreWindow.
ComPtr<IApplicationDesignModeSettings> spDesignModeSettings;
// CoCreate the design mode settings object
HRESULT hr = CoCreateInstance(CLSID_ApplicationDesignModeSettings, nullptr, CLSCTX_INPROC, IID_PPV_ARGS(&spDesignModeSettings));
if (SUCCEEDED(hr))
{
ComPtr<IInitializeWithWindow> spInitializeWithWindow;
hr = pDesignModeSettings->QueryInterface(IID_PPV_ARGS(&spInitializeWithWindow);
if (SUCCEEDED(hr))
{
// Before we set any design mode 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 = spInitializeWithWindow->Initialize(hwndProxyCoreWindow);
}
if (SUCCEEDED(hr))
{
// Set the native display size to 1366x768
SIZE sizeDisplay = {1366, 768};
hr = spDesignModeSettings->SetNativeDisplaySize(sizeDisplay);
if (SUCCEEDED(hr))
{
// Set the native display orientation to landscape
hr = spDesignModeSettings->SetNativeDisplayOrientation(NDO_LANDSCAPE);
if (SUCCEEDED(hr))
{
// Set the scale factor to 100%
DEVICE_SCALE_FACTOR scaleFactor = SCALE_100_PERCENT;
hr = spDesignModeSettings->SetScaleFactor(scaleFactor);
}
}
}
if (SUCCEEDED(hr))
{
// Override the app’s minimum width
hr = spDesignModeSettings->SetApplicationViewMinWidth(AVMW_320);
if (SUCCEEDED(hr))
{
SIZE sizeAppMin;
SIZE sizeAppMax;
hr = spDesignModeSettings->GetApplicationSizeBounds(&sizeAppMin, &sizeAppMax);
if (SUCCEEDED(hr))
{
// Push the min and max size to the slider control,
// to update the values that it maps to
…
// Start by sizing the app to its min bound, so compute the
// resulting view orientation
APPLICATION_VIEW_ORIENTATION viewOrientation;
hr = spDesignModeSettings->GetApplicationViewOrientation(sizeAppMin, &viewOrientation);
if (SUCCEEDED(hr))
{
// Set the app view orientation
hr = spDesignModeSettings->SetApplicationViewOrientation(viewOrientation);
}
}
}
}
if (SUCCEEDED(hr))
{
// Set the adjacent display edges so that the app is touching just the left edge of the screen
hr = spDesignModeSettings->SetAdjacentDisplayEdges(ADE_LEFT);
}
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8.1 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2012 R2 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | shobjidl_core.h (termasuk Shobjidl.h) |