Prueba de esta forma que te explico. Reescribe la función virtual WndProc del formulario que re verá como ShowModal.
En esta función vamos a interceptar los mensajes WM_SYSCOMMAND de forma que controlemos SW_MINIMIZE, SW_RESTORE y SC_CLOSE. Con ello obligaremos a la ventana principal de nuestra app a reaccionar momo nos interesa.
Lo siguiente es como quedaría un archivo de cabecera del formulario ShowModal
Código PHP:
//---------------------------------------------------------------------------
#ifndef Unit2H
#define Unit2H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm2 : public TForm
{
__published: // IDE-managed Components
private:
void __fastcall WndProc(TMessage& msg);
public: // User declarations
__fastcall TForm2(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm2 *Form2;
//---------------------------------------------------------------------------
#endif
Ahora te muestro la función WndProc
Código PHP:
void __fastcall TForm2::WndProc(TMessage& msg)
{
if(msg.Msg == WM_SYSCOMMAND){
if(msg.WParam == SC_MINIMIZE)
ShowWindow(Application->MainForm->Handle, SW_MINIMIZE);
if(msg.WParam == SC_RESTORE || msg.WParam == SC_CLOSE){
ShowWindow(Application->MainForm->Handle, SW_RESTORE);
SetWindowPos(Handle, Application->MainForm->Handle, 0,0,0,0, SWP_NOSIZE | SWP_NOREPOSITION);
}
}
TForm::WndProc(msg);
}
Espero que te ayude.
Saludos.