Función OleUIInsertObjectA (oledlg.h)
Invoca el cuadro de diálogo Insertar objeto estándar, que permite al usuario seleccionar un origen de objeto y un nombre de clase, así como la opción de mostrar el objeto como sí mismo o como un icono.
Sintaxis
UINT OleUIInsertObjectA(
[in] LPOLEUIINSERTOBJECTA unnamedParam1
);
Parámetros
[in] unnamedParam1
Puntero a la estructura OLEUIINSERTOBJECT de salida para este cuadro de diálogo.
Valor devuelto
Definiciones de errores o correctos estándar
Código devuelto | Descripción |
---|---|
|
Error desconocido (sin usar). |
|
El usuario ha presionado el botón Aceptar. |
|
No hay ningún error, igual que OLEUI_OK. |
|
El usuario ha presionado el botón Cancelar. |
Errores de validación de campos estándar
Código devuelto | Descripción |
---|---|
|
Los errores comunes a todos los cuadros de diálogo se encuentran en el intervalo OLEUI_ERR_STANDARDMIN a OLEUI_ERR_STANDARDMAX. Este valor permite a la aplicación probar los mensajes estándar para mostrar los mensajes de error al usuario. |
|
El puntero a una estructura OLEUIXXX pasada a la función era NULL. |
|
Permisos insuficientes para el acceso de lectura o escritura a una estructura OLEUIXXX. |
|
El valor cbstruct es incorrecto. |
|
El valor hWndOwner no es válido. |
|
El valor lpszCaption no es válido. |
|
El valor lpfnHook no es válido. |
|
El valor hInstance no es válido. |
|
El valor lpszTemplate no es válido. |
|
El valor hResource no es válido. |
Errores de inicialización
Código devuelto | Descripción |
---|---|
|
No se encuentra la plantilla del cuadro de diálogo. |
|
No se puede cargar la plantilla del cuadro de diálogo. |
|
Error de inicialización del cuadro de diálogo. |
|
Error al llamar a LocalAlloc o al asignador IMalloc estándar. |
|
Error al llamar a GlobalAlloc o al asignador IMalloc estándar. |
|
No se puede llamar a LoadString para recursos localizados desde la biblioteca. |
|
Error al asignador IMalloc estándar. |
Errores específicos de la función
Código devuelto | Descripción |
---|---|
|
Los errores comunes a todos los cuadros de diálogo se encuentran en el intervalo OLEUI_ERR_STANDARDMIN a OLEUI_ERR_STANDARDMAX. Este valor permite a la aplicación probar los mensajes estándar para mostrar los mensajes de error al usuario. |
|
El valor lpszFile no es válido o el usuario no tiene permisos de acceso de escritura insuficientes. Este miembro lpszFile apunta al nombre del archivo vinculado a o insertado. |
|
El valor ppvOjb no es válido. Este miembro apunta a la ubicación donde se devuelve el puntero para el objeto. |
|
El valor lpIOleClientSite no es válido. Este miembro apunta al sitio cliente del objeto . |
|
El valor lpIStorage no es válido. Este miembro apunta al almacenamiento que se va a usar para el objeto . |
|
El miembro sc de lpIO tiene información de error adicional. |
|
El valor lpClsidExclude no es válido. Este miembro contiene la lista de CLSID que se van a excluir. |
|
El valor cchFile o lpszFile no es válido. El miembro cchFile especifica el tamaño del búfer lpszFile . El miembro lpszFile apunta al nombre del archivo vinculado a o insertado. |
Comentarios
OleUIInsertObject permite al usuario seleccionar el tipo de objeto que se va a insertar desde un cuadro de lista que contiene las aplicaciones de objeto registradas en el sistema del usuario. Para rellenar ese cuadro de lista, OleUIInsertObject recorre el registro, agregando cada servidor de objetos que encuentra que cumple los criterios siguientes:
- La entrada del Registro no incluye la clave NotInsertable.
- La entrada del Registro incluye una clave de estilo OLE 1.0 Protocol\\StdFileEditing\\Server.
- La entrada del Registro incluye la clave Insertable.
- El CLSID del objeto no se incluye en la lista de objetos que se van a excluir (el miembro lpClsidExclude de OLEUIINSERTOBJECT).
Para liberar un HMETAFILEPICT devuelto desde el cuadro de diálogo Insertar objeto o pegar especial , elimine el metarchivo adjunto en el identificador, como se indica a continuación:
void FreeHmetafilepict(HMETAFILEPICT hmfp)
{
if (hmfp != NULL)
{
LPMETAFILEPICT pmfp = GlobalLock(hmfp);
DeleteMetaFile(pmfp->hMF);
GlobalUnlock(hmfp);
GlobalFree(hmfp);
}
else
{
// Handle null pointers here.
exit(0);
}
}
Nota
El encabezado oledlg.h define OLEUIINSERTOBJECT como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | oledlg.h |
Library | OleDlg.lib |
Archivo DLL | OleDlg.dll |