Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 21-11-2012
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
MARIA_MAR,

Cita:
Empezado por MARIA_MAR Ver Mensaje
¿cómo puedo yo redimensionar la ventana en la que se ejecuta este programa Windows sin llegar a minimizarla?
1- Con la función SetForegroundWindow se puede establecer el tamaño, posición y orden Z de una ventana en Windows
Código:
BOOL SetWindowPos(
    HWND hWnd, // handle of window
    HWND hWndInsertAfter, // placement-order handle
    int X, // horizontal position
    int Y, // vertical position
    int cx, // width
    int cy, // height
    UINT uFlags // window-positioning flags
);
2- Revisa el siguiente código en el cual se redimensiona la ventana de Notepad:
Código Delphi [-]
// Ejecuta, redimensiona y establece como Top Level Window a Notepad
procedure TForm5.Button1Click(Sender: TObject);
var
   x, y : Integer;
   cx, cy : Integer;
   Window : Integer;

begin

   // Establece las coordenadas de Notepad en función de form4
   x := Round(form4.Top/2);
   y := Round(form4.Left/2);
   cx := Round(form4.Height/2);
   cy := Round(form4.Width/2);

   // Ejecuta Notepad en modo Hide
   ShellExecute(Handle, 'open', 'Notepad.exe', nil, nil, SW_HIDE);

   // Espera 150 msseg para que se ejecute Notepad
   Sleep(150);

   // API FindWindow : Encuentra si esta activa en Windows una aplicación y obtiene su handle
   Window := FindWindow('Notepad',nil);

   // API SetForegroundWindow : Cambia el foco de la aplicación activa en Windows
   if SetForegroundWindow(Window) = True then
   begin
      // API ShowWindow: Muestra una ventana en Windows
      ShowWindow(Window, SW_SHOWNORMAL);
      // API SetWindowPos: Establece el tamaño, posición y Orden Z de una ventana en Windows.
      // la posición y dimensiones son establecidos con los valores x, y, cx, cy
      // Notepad es establecido como Top Level Window
      SetWindowPos(Window,HWND_TOPMOST, x, y, cx, cy, SWP_NOACTIVATE);
   end
   else
      MessageDlg('Notepad No Esta Activo', mtInformation,[mbOk], 0);

end;
Nota: La ventana debe ser redimensionable, de lo contrario la función SetWindowPos no podrá redimensionarla.

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 21-11-2012 a las 19:02:01.
Responder Con Cita
 



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ventana de Windows siempre visible chinchan C++ Builder 1 06-09-2012 03:02:46
Ejecutar programa al inicio de Windows 7 Drakyto Varios 5 27-07-2012 09:25:04
Ejecutar DOS en Ventana Windows MAXIUM Varios 5 29-02-2012 08:24:09
Aplicacion o Ventana siempre visible? cosuroca Varios 4 18-08-2008 04:28:20
Ejecutar en msdos sin ventana de windows apicito Varios 12 05-03-2004 21:23:58


La franja horaria es GMT +2. Ahora son las 00:03:05.


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