Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-11-2004
LoBo2024 LoBo2024 is offline
Miembro
 
Registrado: ago 2004
Posts: 24
Poder: 0
LoBo2024 Va por buen camino
Mostrar TImage en aplicación externa

Como podria hacer que al clickar sobre la imagen del tImage se abrierá en una aplicación externa? hay posibilidades de elegir la aplicación? si se abre con el programa que tengan por defecto para esa aplicación también me vale, muchisimas gracias
Responder Con Cita
  #2  
Antiguo 08-11-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.281
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por LoBo2024
Como podria hacer que al clickar sobre la imagen del tImage se abrierá en una aplicación externa? hay posibilidades de elegir la aplicación? si se abre con el programa que tengan por defecto para esa aplicación también me vale...
Bueno, todo los que comentas se puede hacer; Abrir la imagen, en el programa por defecto o en otro. La única premisa (para facilitar el trabajo es que la imagen exista en disco); Por ejemplo puedes crearla en un dir. temporal (y luego borrarla si no te interesa);
Para abrirla con el programa por defecto puedes utlizar WinExec o ShellExecute. Añade al USES la uni ShellAPI;

Código Delphi [-]
  // Grabar la imagen
  Image1.Picture.Bitmap.SaveToFile('c:\temp\pictmp1.bmp');
  // Abrirla (con el programa por defecto)
  ShellExecute(0, 'Open', PChar('c:\temp\pictmp1.bmp'), nil, nil, SW_SHOW );
  // Espero 3 segundos
  sleep(3000);
  // La borro
  DeleteFile('c:\temp\pictmp1.bmp');
 
  // BIS, pero con WinExec y pasando programa y parámetros
  Image1.Picture.Bitmap.SaveToFile('c:\temp\pictmp1.bmp');
  WinExec(PChar('mspaint ' + 'c:\temp\pictmp1.bmp'), SW_SHOW);
  sleep(3000);
  DeleteFile('c:\temp\pictmp1.bmp');

Otra opción es utilizar CreateProcess, es un poco más complejo, pero también más completo; Un ejemplo podría ser el siguiente (con éste puedes utilizar otro programa -por ejemplo el PhotoEditor de MS-)

Código Delphi [-]
var
  StartupInfo:TStartupInfo;
  ProcessInfo:TProcessInformation;
begin
  // Grabar la imagen
  Image1.Picture.Bitmap.SaveToFile('c:\temp\pictmp1.bmp');
  // rellenamos la estructura necesaria
  FillChar(StartupInfo,Sizeof(StartupInfo),#0);
  StartupInfo.cb := Sizeof(StartupInfo);
  StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
  StartupInfo.wShowWindow := 1{0 no visible, 1 Visible};
  // Llamada
  CreateProcess(
      PChar('c:\Archivos de programa\Archivos comunes\Microsoft Shared\PhotoEd\PHOTOED.EXE'), {Nombre del EXE}
      PChar(' c:\temp\pictmp1.bmp'), {Nombre del parámetro -imagen-}
      nil,
      nil,
      false,
      CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,
      nil,
      nil,
      StartupInfo,
      ProcessInfo);
  // Esperar 3 segundos
  sleep(3000);
  // borrar el fichero
  DeleteFile('c:\temp\pictmp1.bmp');
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 08-11-2004
LoBo2024 LoBo2024 is offline
Miembro
 
Registrado: ago 2004
Posts: 24
Poder: 0
LoBo2024 Va por buen camino
Muchisimas gracias me ha funcionado perfectamente, muy bien explicado y me ha quedado todo clarisimo, gracias por tu ayuda
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 08:35:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi