Bagikan melalui


Metode IOleObject::SetExtent (oleidl.h)

Menginformasikan objek tentang berapa banyak ruang tampilan yang telah ditetapkan kontainernya.

Sintaks

HRESULT SetExtent(
  [in] DWORD dwDrawAspect,
  [in] SIZEL *psizel
);

Parameter

[in] dwDrawAspect

DWORD yang menjelaskan bentuk, atau "aspek" objek mana yang akan ditampilkan. Kontainer objek memperoleh nilai ini dari enumerasi DVASPECT (lihat enumerasi FORMATETC ). Aspek yang paling umum adalah DVASPECT_CONTENT, yang menentukan penyajian penuh objek dalam kontainernya. Objek juga dapat dirender sebagai ikon, versi gambar mini untuk ditampilkan di alat penjelajahan, atau versi cetak, yang menampilkan objek seperti yang akan dirender menggunakan perintah Cetak File .

[in] psizel

Penunjuk ke batas ukuran untuk objek.

Nilai kembali

Metode ini mengembalikan S_OK pada keberhasilan. Nilai pengembalian lain yang mungkin termasuk yang berikut ini.

Menampilkan kode Deskripsi
E_FAIL
Operasi gagal.
OLE_E_NOTRUNNING
Objek tidak berjalan.

Keterangan

Kontainer memanggil IOleObject::SetExtent saat perlu mendikte ke objek tersemat yang ukurannya akan ditampilkan. Seringkali, panggilan ini terjadi sebagai respons terhadap pengguna akhir mengubah ukuran jendela objek. Setelah menerima panggilan, objek , jika memungkinkan, harus mengolah ulang dirinya dengan anggun agar sesuai dengan jendela baru.

Jika memungkinkan, kontainer berusaha menampilkan objek pada resolusi terbaiknya, kadang-kadang disebut ukuran asli objek. Namun, semua objek memiliki ukuran tampilan default yang ditentukan oleh aplikasi mereka, dan dengan tidak adanya batasan lain, ini adalah ukuran yang akan mereka gunakan untuk menampilkan diri mereka sendiri. Karena objek mengetahui ukuran tampilan optimalnya lebih baik daripada kontainernya, objek yang terakhir biasanya meminta ukuran tersebut dari objek yang sedang berjalan dengan memanggil IOleObject::SetExtent. Hanya dalam kasus di mana kontainer tidak dapat mengakomodasi nilai yang dikembalikan oleh objek apakah itu mengambil alih preferensi objek dengan memanggil IOleObject::SetExtent.

Catatan untuk Penelepon

Anda dapat memanggil IOleObject::SetExtent pada objek hanya saat objek berjalan. Jika kontainer mengubah ukuran objek saat objek tidak berjalan, kontainer harus melacak ukuran baru objek tetapi menangguhkan panggilan IOleObject::SetExtent hingga pengguna mengaktifkan objek. Jika bit OLEMISC_RECOMPOSEONRESIZE diatur pada objek, kontainernya harus memaksa objek untuk dijalankan sebelum memanggil IOleObject::SetExtent.

Seperti disebutkan di atas, kontainer mungkin ingin mendelegasikan tanggung jawab untuk mengatur ukuran situs tampilan objek ke objek itu sendiri, dengan memanggil IOleObject::SetExtent.

Catatan untuk Pelaksana

Anda mungkin ingin menerapkan metode ini sehingga objek Anda menskalakan ulang dirinya sendiri untuk mencocokkan sedekat mungkin ruang maksimum yang tersedia untuknya dalam kontainernya.

Jika ukuran objek diperbaiki, yaitu, jika tidak dapat diatur oleh kontainernya, IOleObject::SetExtent harus mengembalikan E_FAIL. Ini selalu terjadi pada objek yang ditautkan, yang ukurannya diatur oleh sumber tautannya, bukan oleh kontainernya.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header oleidl.h

Lihat juga

IAdviseSink::OnViewChange

IOleObject

IOleObject::GetExtent

IViewObject2::GetExtent