Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Cambiar la apariencia de las formas

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Cambiar la apariencia de las formas Responder citando

Como puedo hacer para que una forma que he creado tome la apariencia que deseo y no la que traen por defecto?
_________________
Agradesco Mucho la colaboracion, saludos a todos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Ayuda Responder citando

Hola digisoft1:

Creo que lo que necesitas es usar un skin: encuantralo aqui:


[url]
https://cppbuilder.es/viewtopic.php?t=3687&highlight=skin
[/url]

Suerte,
Saludos....[/code]
Volver arriba
Mensaje    Asunto: Una muy sencilla para hacer un form que no sea cuadrado Responder citando

Dibuja por ejemplo un circulo, digamos de color blanco.
Luego, dale al form el color negro por defecto.
Y después, en las propiedades del form quita los bordes, elige none para esta propiedad y activa el color transparente para el negro,

Lo unico que te queda por hacer es programar tu mismo las funciones basicas por ejemplo de movimiento de la pantalla, ya que al quitar los bordes quitaste el título, y sin él no puedes mover el form, etc.

Si deseas un ejemplo, avisame.

Saludos,
Bart.-
Volver arriba
Mensaje    Asunto: Ayuda Responder citando

Hol Bart, con que propiedad hago transparente al color negro de mi forma.
Disculpamme pero no te entiendo..

Me gustria un ejemplo si no es mucha molestia.

Chaolin.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Ayuda Responder citando

Perdon, tambien Me gustaria un ejemplo si no es mucha molestia.
Volver arriba
Mensaje    Asunto: Transparencias Responder citando

Hola!

La propiedad para activar las transparencias se llama TRANSPARENT COLOR, hay que ponerla en TRUE, y elegir por ejemplo color negro en TRANSPARENT COLOR VALUE.
Esto hace que todo lo pintado de negro, inclusive el texto dentro de un control tipo memo pase a ser transparente.
Estas propiedades son del form.

Luego, para mover el form resultante les armé este trozo de código, hay que optimizarlo, lo hice rápido, pero funciona:

(Les recomiendo crear un form, sacarle el borde, crear una elipse blanca, elegir como transparente el color negro en el form y pegar este código, adaptando los nombres de los objetos).

Saludos.
Bart.-

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Form_Circular_Unit.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm_Principal *Form_Principal;
bool BotonPresionado;
int Xant, Yant;
//---------------------------------------------------------------------------
__fastcall TForm_Principal::TForm_Principal(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm_Principal::ElipseMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
BotonPresionado = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm_Principal::ElipseMouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
BotonPresionado = false;
}
//---------------------------------------------------------------------------

void __fastcall TForm_Principal::ElipseMouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
int MoverX=0, MoverY=0;
if (Xant == 0 || Yant == 0) { Xant = X; Yant = Y; }
if (BotonPresionado == true && Y > Yant) { MoverY +=1; }
if (BotonPresionado == true && Y < Yant) { MoverY -=1; }
if (BotonPresionado == true && X > Xant) { MoverX +=1; }
if (BotonPresionado == true && X < Xant) { MoverX -=1; }
if (BotonPresionado == true) {
Form_Principal->Top = Form_Principal->Top + MoverY;
Form_Principal->Left = Form_Principal->Left + MoverX;
Xant = X ; Yant = Y ;
}
}
//---------------------------------------------------------------------------

void __fastcall TForm_Principal::TextoDblClick(TObject *Sender)
{
if (Texto->Font->Color == clBlack) {
Texto->Font->Color = clBlue;
} else {
Texto->Font->Color = clBlack;
}
}
//---------------------------------------------------------------------------
Volver arriba
Mensaje    Asunto: Como les hago llegar el ejemplo? Responder citando

Tienen una dirección de mail para enviarles el ejemplo???
Volver arriba
Mensaje    Asunto: Comantario IMPORTANTE Responder citando

Probé el ejemplo en varias PCs, anda 10 puntos en Windows 2000 y XP, pero en 9x no existen las transparencias. En estos casos hay que bajar un programita tipo glass2k o similar.

Saludos.
Volver arriba
Mensaje    Asunto: Responder citando

Idea
En el evento OnLoad del formulario por lo siguiente

Para una elipse

const RECT RClient = GetClientRect();
const HRGN hMyRgn = CreateEllipticRgn(0, 0, RClient.right, RClient.bottom);
SetWindowRgn(Handle, hMyRgn, true);

para un triangulo

TPoint P[3];
P[0].x = 0;
P[0].y = 0;
P[1].x = Width;
P[1].y = 0;
P[2].x = static_cast<int>(Width / 2);
P[2].y = Height;

HRNG MyRgn = CreatePolygonRgn(P, 3, WINDING);
SetWindowRgn(Handle, MyRgn, true);

para otra forma jugar un poco con los puntos.
Saludo
TJOSE
Volver arriba
Mensaje    Asunto: Gracias Responder citando

Hola Bart, Muchas gracias por el ejemplo, y disculpa las molestias.

Saludos.
Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.