FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
IPictureDisp al portapapeles
Pues siguiendo la ayuda del componente que estoy probando veo que para guardar una imagen de lo que se muestra al portapapeles hace esto:
Código:
' Copy the diagram to the clipboard: ' here we wish to copy all items and the back picture. Clipboard.Clear Clipboard.SetData AddFlow1.ExportPicture(afAllItems, False, True) El problema es que eso es VB y que no se como pasarlo a C++builder ¿alguien sabria decirme como hacer eso? |
#2
|
||||
|
||||
He probado a hacer cosas como estas que pongo a continuacion pero nada me funcionó
Código PHP:
|
#3
|
||||
|
||||
Sigo investigando como conseguirlo y he llegado a esto:
Código PHP:
Código PHP:
Código PHP:
He mirado con OleViewer y no veo el interface IPictureDisp por ningun sitio pero si veo IPicture ¿como puede ser que no aparezca entre las interfaces y builder lo reconozca? ¿que puedo estar haciendo mal para que no funcione mi codigo? |
#4
|
||||
|
||||
Amigo, si hago esto:
IPictureDisp *pIPD = AddFlow1->ExportPicture(afAllItems, true, true); Me da este error al compilar: [C++ Error] Main.cpp(731): E2034 Cannot convert 'IPictureDisp * *' to 'IPictureDisp *' La ayuda del componente no da mucha ayuda ya que casi todo el soporte lo da para VB y en algun que otro caso pone algun ejemplo en C++. Aqui los tres ejemplos que pone para ese metodo en VB: Export the diagram to a picture box: Código PHP:
Example 2 (VB) Código PHP:
Código PHP:
Traceando puedo ver que ExportPicture se declara asi: Código PHP:
Si entro con F7 llego aqui: Código PHP:
Última edición por aguml fecha: 01-02-2015 a las 18:46:31. |
#5
|
||||
|
||||
Por favor, que algun administrador elimine la respuesta anterior ya que el formato no está bien. Aqui lo pongo bien:
Amigos, si hago esto: Código PHP:
Código:
[C++ Error] Main.cpp(731): E2034 Cannot convert 'IPictureDisp * *' to 'IPictureDisp *' Example 1 (VB) Código:
' Export the diagram to a picture box: ' here, we copy only the selected items. Picture1.Picture = AddFlow1.ExportPicture(afSelectedItems, False, False) Código:
' Copy the diagram to the clipboard: ' here we wish to copy all items and the back picture. Clipboard.Clear Clipboard.SetData AddFlow1.ExportPicture(afAllItems, False, True) Código:
' Save the diagram in a file: ' here we don›t want to save the grid. Dim pic As IpictureDisp AddFlow1.ShowGrid = False Set pic = AddFlow1.ExportPicture(afAllItems, True, True) AddFlow1.ShowGrid = True SavePicture pic, "myfile.emf" Código PHP:
Código PHP:
|
#6
|
||||
|
||||
He hecho una prueba para intentar ver que pasa:
Código PHP:
1- Al IPictureDisp le tengo que hacer un cast mas que extraño al asignarlo para que no de error despues. 2- Tanto GetOlePicture como GetOlePicture devuelven void por lo que no se si fallan pero no dan excepcion ninguna. 3- Cuando uso GetOlePicture no veo que nada cambie en el IPictureDisp. 4- Cuando uso SetOlePicture puedo ver como cambia el valor de FGrafic en su interior. ¿como puede ser que solo con copiar la imagen de uno a otro y luego otra vez volver a hacer lo mismo ya no sea capaz de leer la imagen? Creo que GetOlePicture no hace lo que debe o que IPictureDisp no se inicializa como debe. ¿Alguien puede ayudarme? |
#7
|
||||
|
||||
Hola aguml.
No quiero que te quedes con la idea de que no hay voluntad de ayudarte. En mi caso (y creo que en el de todos los que han leido el hilo) el mutismo se debe al desconocimiento sobre IPictureDisp. Fijate si este enlace te puede arrojar algo de luz: Converting between IPictureDisp and System.Drawing.Image Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#8
|
||||
|
||||
amigo en ningun caso pensé en que no hubiese voluntad de ayudar, entiendo que unos por falta de tiempo, otros por desconocimiento, y otros por otras razones, pues no ha podido ser y por eso sigo investigando y probando por mi cuenta y compartiendo mis pruebas para ver si alguien que pueda me ayuda. El enlace que indindicas ya lo vi pero usa stdole y no se como hacer para que el builder me lo reconozca ya que no comila con eso.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Portapapeles TImage | cmm07 | Varios | 5 | 06-02-2009 17:01:06 |
Copiar al portapapeles | johurgi | Varios | 4 | 22-11-2006 19:47:48 |
Monitorizar el portapapeles de windows | rsantosr | API de Windows | 3 | 26-09-2005 07:29:38 |
Portapapeles... | Perio | Varios | 3 | 29-07-2005 16:27:41 |
StringGrid -> Portapapeles | acertij022 | OOP | 3 | 17-10-2003 17:14:16 |
|