Bagikan melalui


Metode IOleObject::InitFromData (oleidl.h)

Menginisialisasi objek yang baru dibuat dengan data dari objek data tertentu, yang dapat berada di kontainer yang sama atau di Clipboard.

Sintaks

HRESULT InitFromData(
  [in] IDataObject *pDataObject,
  [in] BOOL        fCreation,
  [in] DWORD       dwReserved
);

Parameter

[in] pDataObject

Penunjuk ke antarmuka IDataObject pada objek data tempat data inisialisasi akan diperoleh. Parameter ini bisa NULL, yang menunjukkan bahwa penelepon ingin tahu apakah ada baiknya mencoba mengirim data; yaitu, apakah kontainer mampu menginisialisasi objek dari data yang diteruskan ke dalamnya. Objek data yang akan diteruskan dapat didasarkan pada pilihan saat ini dalam dokumen kontainer atau pada data yang ditransfer ke kontainer dari sumber eksternal.

[in] fCreation

TRUE menunjukkan kontainer menyisipkan objek baru di dalam dirinya sendiri dan menginisialisasi objek tersebut dengan data dari pilihan saat ini; FALSE menunjukkan transfer data terprogram yang lebih umum, kemungkinan besar dari sumber selain pilihan saat ini.

[in] dwReserved

Parameter ini dicadangkan dan harus nol.

Menampilkan nilai

Metode ini mengembalikan S_OK jika pDataObject bukan NULL, objek berhasil mencoba menginisialisasi dirinya dari data yang disediakan; jika pDataObject adalah NULL, objek dapat mencoba inisialisasi yang berhasil.. Nilai pengembalian lain yang mungkin termasuk yang berikut ini.

Menampilkan kode Deskripsi
S_FALSE
Jika pDataObject bukan NULL, objek tidak mencoba menginisialisasi dirinya sendiri; jika pDataObject adalah NULL, objek tidak dapat mencoba menginisialisasi dirinya dari data yang disediakan.
E_NOTIMPL
Objek tidak mendukung InitFromData.
OLE_E_NOTRUNNING
Objek tidak berjalan dan karenanya tidak dapat melakukan operasi.

Keterangan

Metode ini memungkinkan dokumen kontainer untuk menyisipkan dalam dirinya sendiri objek baru yang kontennya didasarkan pada pilihan data saat ini dalam kontainer. Misalnya, dokumen lembar bentang mungkin ingin membuat objek grafik berdasarkan data dalam rentang sel yang dipilih.

Dengan menggunakan metode ini, kontainer juga dapat menggantikan konten objek yang disematkan dengan data yang ditransfer dari sumber lain. Ini menyediakan cara mudah untuk memperbarui objek yang disematkan.

Catatan untuk Penelepon

Setelah inisialisasi, kontainer harus memanggil IOleObject::GetMiscStatus untuk memeriksa nilai bit OLEMISC_INSERTNOTREPLACE. Jika bit aktif, objek baru menyisipkan dirinya sendiri mengikuti data yang dipilih. Jika bit mati, objek baru akan menggantikan data yang dipilih.

Catatan untuk Pelaksana

Kontainer menentukan apakah akan mendasarkan objek baru pada pilihan saat ini dengan meneruskan TRUE atau FALSE ke parameter fCreation .

Jika fCreationTRUE, kontainer mencoba membuat instans baru objek, menginisialisasinya dengan data yang dipilih yang ditentukan oleh objek data.

Jika fCreationFALSE, pemanggil mencoba mengganti konten objek saat ini dengan yang ditunjukkan oleh pDataObject. Batasan biasa yang berlaku untuk objek selama operasi penempelan harus diterapkan di sini. Misalnya, jika jenis data yang disediakan tidak dapat diterima, objek harus gagal menginisialisasi dan mengembalikan S_FALSE.

Jika objek mengembalikan S_FALSE, objek tidak dapat menginisialisasi dirinya sendiri dari data yang disediakan.

Persyaratan

   
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

IDataObject::SetData

IOleObject

IOleObject::GetMiscStatus