C/Visual C - Builder C++ Como hago un boton redondo???

 
Vista:

Builder C++ Como hago un boton redondo???

Publicado por LhaN (12 intervenciones) el 20/06/2007 04:19:05
Hola gente, disculpen las molestias, tengo que presentar el trabajo final de programacion orientada a objetos usando Builder C++, no encontre un foro particular de builder aca en la web, tampoco un foro de C++, asi que lo postie donde me parecion maso menos similar.
Bueno, mi consulta es, estoy haciendo un programa que simula el registro de cartas y paquetes por una entidad de correo, la interfaz del programa es una botonera al mas puro estilo Los Sims 2... jejeje para que sea mas llamativa, pero resulta que los botones son redondos... bien, las imagenes estan con la propiedad transparent =true; la imagen se resalta al pasar el mouse sobre ella, pero... ete aqui... que no tiene una deteccion de colicion entre el mouse y la imagen del boton precisa, osea... si yo pongo el cursor sobre una de las esquinas invisibles del boton, el boton se resalta, y me gustaria que eso no ocurriese, hay alguna forma de solucionarlo? no veo entre las propiedades ninguna que se asemeje a un "precise colision cheking"... espero haber sido claro con mi pregunta.
Gracias desde ya.

PD1: estamos a 19 de junio... el trabajo es para el 22 de junio... onda que tengo poco tiempo para depurar ese problemita.

PD2: No se si repetir esto para el Visual C# en su correspondiente foro, pero me gustaria saberlo tambien para el C#... para el builder lo necesito solo para dejar bien terminado el trabajo, pero para el C# es por que es el lenguaje en el que me quiero especializar.
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

RE:Builder C++ Como hago un boton redondo???

Publicado por Nelek (816 intervenciones) el 21/06/2007 08:20:46
Hola,

no se como ira la cosa en BC++ con el tema de los botones personalizados. En VC++ hay ya bastantes articulos sobre el tema en la pagina www.codeguru.com echa un vistazo (aunque se que te llega algo justo en tiempo).

Si no... una manera "chapucera" pero que te puede sacar del aprieto es determinar el punto central de tu boton redondo y chequear la posicion del raton a partir de ese punto y con la ecuacion matematica de la circunferencia plana (no se si recuerdo bien pero me parece que era x²+y² = r²).

O bien... establecer un ovalo invisible detras del boton y comprobar si estas A LA VEZ encima del ovalo y encima de tu imagen. Asi podria evitar que, cuando te pones encima de la imagen (pero fuera del ovalo), se active el boton cuando no debe.
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

RE:Builder C++ Como hago un boton redondo???

Publicado por LhaN (12 intervenciones) el 21/06/2007 12:00:32
Hola, gracias por la respuesta, son buenas soluciones pero con demasiado código de por medio me parece, de solo pensarlo me da dolor de cabeza ^^
Si tuviera mas tiempo la uso. Busque en guru, pero el ingles mediocre mio me juega severamente en contra, y el hecho de que sea para vc y no builder también aporta su granito de arena negativo. De todas formas gracias. Espero que alguien pueda darme una solución mas sencilla si es que existe. De todas formas el plazo de presentación no significa mucho, lo presento con esa pequeña falla que los brutos de mis pseudo-profesores no van a notar... total toy en segundo no piden mucho. Pero me gustaría otra solución para el futuro, nunca se sabe si lo volveré a necesitar... y considerando mi aberración por los botones cuadros es seguro que si.
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

RE:Builder C++ Como hago un boton redondo???

Publicado por Nelek (816 intervenciones) el 21/06/2007 13:53:38
Entonces te recomiendo que tomes como ejemplo alguno de los botones de VC de codeguru y mires como lo han hecho, a partir de ahi traducetelo para BC.

De todas maneras lo de la expresion de la circunferencia, no debe de ser tanto codigo, creo que es mas un problema de despejar la ecuacion correctamente para poder aplicar el testeo de si estas en ese espacio o no que otra cosa.

Respecto a lo del Shape ovalado invisible, no tiene por que ser mucha faena. Si no recuerdo mal, puedes dibujar un Shape y crearle "eventos" como lo de pasar por encima. Si pones el shape detras de tu boton redondeado, tienes la region delimitada y al hacer un OnMouseOver llamar a la imagen que toca indirectamente gracias a ese "truquito", ahora bien... son solo soluciones "chapuzas" lo suyo seria meterte en el tema de controles personalizados y manejar los mensajes estandard del BC
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

RE:Builder C++ Como hago un boton redondo???

Publicado por JuanC (57 intervenciones) el 23/06/2007 14:51:28
tarde pero seguro...

http://forum.codenet.ru/showpost.php?p=148434&postcount=7

Saludos desde Baires, JuanC
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

RE:Builder C++ Como hago un boton redondo???

Publicado por LhaN (12 intervenciones) el 23/06/2007 18:39:28
Bueno, se ve... largo je, tonces supongo que una propiedad no existe y hay que hacerlo por codigo, gracias por el codigo JuanC y gracias por las orientacion Nelek, supongo que esta pregunta y ha sido respondida.
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