arduino tft touch screen printbutton code - need your help

i been working on the sketch for a few days now but run into some issues i hope u guys can address and help me out...

so i set up a button image at the top, if its clicked it will show up a "cancel" & "Confirm" button on the same screen at the bottom, if you click "cancel" the actions will be this:

void ManualRelayScreen()
{
myGLCD.setColor(0, 0, 0);
myGLCD.fillRect(1, 183, 149, 225);

printButton("CANCEL", canCrelay[0], canCrelay[1], canCrelay[2], canCrelay[3], SMALL);
printButton("CONFIRM", ConfirmMrelay[0], ConfirmMrelay[1], ConfirmMrelay[2], ConfirmMrelay[3], SMALL);
}


if ((x>=10) && (y>=28) && (x<=44) && (y<=60)) //press Manual Cooling Relay
{
ManualRelayScreen();
setFont(SMALL, 0, 255, 255, 0, 0, 0);
myGLCD.print("MANUAL COOLING", 20, 165);
setFont(SMALL, 255, 0, 0, 0, 0, 0);
myGLCD.print("* Please Confirm *", 5, 185);
}


if ((x>=canCrelay[0]) && (y>=canCrelay[1]) && (x<=canCrelay[2]) && (y<=canCrelay[3])) //press cancel on manual relay confirmation
{
waitForIt(canCrelay[0], canCrelay[1], canCrelay[2], canCrelay[3]);
ReadFromEEPROM();
dispScreen=0;
clearScreen();
mainScreen(true);
}

if cancel is pushed it will clear and display the main screen again and the bottom "cancel" and "confirm" button will disappear from view which is what i want.

BUT when it disappears, you can still click the button even if u cant see it... so my question is how can i refresh the screen and not have that button be clickable unless the image was clicked again from the top then the button "cancel" and "confirm" will show up and be clickable...

reason i need help is i cant figure out why its clickable cause i clear the screen already or reloaded the screen fresh right? I'm also going to be placing more "Confirm" button on top of this for each of the image i have and its about 6 of them. If they stay clickable i'm sure if you tap it, everything else will also that under it >.<.

please help me figure this out...

If you have a screen where the TFT keyboard isn't used... Why bother reading it?.
Place your TFT keypad stuff in a function and call it when it's needed..

Doc

Well my buttons are in a fiction already

If ((x>=canCrelay[0]) && (y>=canCrelay[1]) && (x<=canCrelay[2]) && (y<=canCrelay[3])) //press cancel on manual relay confirmation
{
waitForIt(canCrelay[0], canCrelay[1], canCrelay[2], canCrelay[3]);
ReadFromEEPROM();
dispScreen=0;
clearScreen();
mainScreen(true);
}

So for this part here should I remove the ReadFromEEPROM():? Or how would I fix the issue? Sorry new to arduino and learning as I go