Necesito ayuda con programa en Borland C

suriel89

Bovino maduro
#1
Bueno en la escuela nos pusieron a hacer un programa en borland, el problema en cuestion es que tenemos unos cuadros de colores tipo paint y tenemos un menu, que al hacerlo aparecer sale detras de la paleta de colores, y queremos que aparesca enfrente de esta, y que ademas al pasar el mouse por las distintas opciones del menu se sombreen la que señale el puntero.


este es el codigo que llevamos


#include<graphics.h>
#include "c:\borlandc\mouse.h"
#include<stdlib.h>
#include<iostream.h>
long tammenu;
void unsigned *bufferm;
void mostrar(void){
setcolor( 1);
rectangle(0,460,639,479);
setfillstyle(1,9);
floodfill(10,465,1);
setcolor(10);
rectangle(0,461,69,479);
setcolor(2);
rectangle(1,462,70,480);
setfillstyle(1,2);
floodfill(5,465,2);
setcolor(15);
settextstyle(3,0,1);
outtextxy(5,456,"Mostrar");
}
void dibmenu(void){
setcolor(7);
setfillstyle(1,7);
rectangle(0,340,120,460);
floodfill(1,375,7);
setcolor(15);
line(0,370,120,370);
line(0,430,120,430);
line(0,400,120,400);
setcolor(8);
line(0,369,120,369);
line(0,429,120,429);
line(0,399,120,399);
setcolor(15);
settextstyle(TRIPLEX_FONT,HORIZ_DIR,1);
outtextxy(5,430,"Salir");
outtextxy(5,400,"Calculadora");
outtextxy(5,370,"Dibujar");
outtextxy(5,340,"Juego");
tammenu=imagesize(0,340,120,460);
bufferm=malloc(tammenu);
getimage(0,340,120,460,bufferm);
clearviewport();
}
void dibujar(void){
rectangle(0,0,639,459);
line(0,25,639,25);
setfillstyle(1,9);
floodfill(10,10,15);
outtextxy(5,0,"Programa dibujar...");
setcolor(4);
outtextxy(625,0,"X");
setcolor(7);
line(0,45,639,45);
setfillstyle(1,7);
floodfill(10,30,15);
setcolor(15);
line(0,409,639,409);
for(int i=0;i<11;i++){
rectangle(0+i*20,409,20+i*20,434);
rectangle(0+i*20,434,20+i*20,459);
if(i<8){
setfillstyle(1,i);
floodfill(2+i*20,411,15);
setfillstyle(1,i+8);
floodfill(2+i*20,436,15);
}
putpixel(170,419,15);
line(163,437,177,456);
rectangle(185,439,195,454);
circle(190,421,7);
}

}
void main(){
int cont=VGA,modo=2;
int x,y,izq,der,menu=0,salir=0,band=0;
initgraph(&cont,&modo,"c:\\borlandc\\bgi");
dibmenu();
mostrar();
dibujar();
inicia_mouse(320,240);
do{
estado_mouse(&x,&y,&izq,&der);
gotoxy(10,10);
cout<<" X="<<x<<" Y="<<y<<" menu="<<menu<<" band="<<band<<" ";
if(!izq)
if((x>0&&x<70)&&(y>460&&y<480))band=1;
if(izq)
if((x>0&&x<570)&&(y>20&&y<480)){
if(!menu&&band){
ocultar_mouse();
putimage(0,340,bufferm,XOR_PUT);
mostrar_mouse();
menu=1;
band=0;
}
if(menu&&band){
ocultar_mouse();
putimage(0,340,bufferm,XOR_PUT);
mostrar_mouse();
menu=0;
band=0;
}
}
if(izq&&!menu)
if((x>0&&x<120)&&(y>430&&y<460))
salir=1;
}while(!salir);
closegraph();
free(bufferm);
}

soy un novato en programacion, pero nos pidieron esto,

si pueden ayudar se los agradecere
 
Arriba