Bagikan melalui


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)

Lihat juga

IApplicationDesignModeSettings