Sobre Form...?
1-Cómo hacer para que una Form(ventana) no se mueva, esto es que no cambie su posición?
2-Cómo hacer que una Form tenga la posición principal asta que sea cerrada; considerando que otros programas estén corriendo?
De antemano gracias.
Siendo más especifico:
1- Lo que quiero es que después de aparecer la ventana en pantalla el usuario no pueda modificar su posición, esto es cogerla con el mouse y moverla de un lado para otro(teniendo la ventana todas sus "partes" visibles).
2- Si es posible hacer que una ventana después de aparecer, para quitarla de la pantalla, halla que cerrarla o de lo contrario seguirá en el medio hagamos lo que hagamos y siempre visible.
Si solo sabes una igual me sería tremendo.
2-Cómo hacer que una Form tenga la posición principal asta que sea cerrada; considerando que otros programas estén corriendo?
De antemano gracias.
Siendo más especifico:
1- Lo que quiero es que después de aparecer la ventana en pantalla el usuario no pueda modificar su posición, esto es cogerla con el mouse y moverla de un lado para otro(teniendo la ventana todas sus "partes" visibles).
2- Si es posible hacer que una ventana después de aparecer, para quitarla de la pantalla, halla que cerrarla o de lo contrario seguirá en el medio hagamos lo que hagamos y siempre visible.
Si solo sabes una igual me sería tremendo.
Intenta con la función Api "SetWindowPos":
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
);
por ejemplo, este codigo hace que la ventana del formulario permanesca por encima de las demás al hacer click al boton "Button1" y regresa a como estaba al hacer click en "Button2":
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
SetWindowPos(Form1->Handle, HWND_TOPMOST, Form1->Left, this->Top, this->Width, this->Height, SWP_SHOWWINDOW);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
SetWindowPos(Form1->Handle, HWND_NOTOPMOST, Form1->Left, this->Top, this->Width, this->Height, SWP_SHOWWINDOW);
}
//---------------------------------------------------------------------------
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
);
por ejemplo, este codigo hace que la ventana del formulario permanesca por encima de las demás al hacer click al boton "Button1" y regresa a como estaba al hacer click en "Button2":
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
SetWindowPos(Form1->Handle, HWND_TOPMOST, Form1->Left, this->Top, this->Width, this->Height, SWP_SHOWWINDOW);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
SetWindowPos(Form1->Handle, HWND_NOTOPMOST, Form1->Left, this->Top, this->Width, this->Height, SWP_SHOWWINDOW);
}
//---------------------------------------------------------------------------
