C/Visual C - Ayuda!

 
Vista:

Ayuda!

Publicado por Cristina (1 intervención) el 08/09/2002 06:48:42
Alguien me puede decir cómo darle forma a los formularios, osea que no queden cuadrados sino como poligonales (de varios lados y con diferentes formas).

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Cómo crear formularios con formas personalizadas en Windows Forms

Publicado por Alejandro (913 intervenciones) el 19/03/2025 18:34:54
Cristina, para darle forma a los formularios en Visual C++, puedes utilizar la función `SetWindowRgn` de la API de Windows. Esta función permite definir una región de la ventana que puede ser de cualquier forma, no solo rectangular. Aquí tienes una solución básica:

1. Crea un nuevo proyecto de Windows Forms en Visual C++.
2. En el constructor del formulario, define la región:

1
2
3
4
5
6
7
#include <windows.h>
 
void MyForm::MyForm_Load(System::Object^ sender, System::EventArgs^ e) {
    // Crea una región con forma personalizada
    HRGN hRgn = CreatePolygonRgn(/* Aquí defines los puntos del polígono */, /* Número de puntos */, ALTERNATE);
    SetWindowRgn(this->Handle.ToPointer(), hRgn, TRUE);
}

3. Define los puntos del polígono en un arreglo de `POINT` yasegúrate de que el número de puntos coincida con la cantidad de puntos que defines.

4. Compila y ejecuta tu aplicación. Ahora deberías ver que el formulario tiene la forma que definiste.

Recuerda que este método puede requerir ajustes dependiendo de la complejidad de la forma que desees crear. Además, asegúrate de manejar correctamente la memoria de la región creada para evitar fugas de memoria.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar