Menu problems

I am new to the arduino forum im reading through as i can to see whats already posted. I am using the uno but run out of memory (practice) i have got the mega 2560 now and am using the Seeed Studio 2.8 tft touch shield. I am also just starting software programming so my skills are at the min right now. I want to make a menu with sub menus Im wanting to learn what i am doing and why any help would be great “HELP” not answers.

#include <SeeedTouchScreen.h>
#include <stdint.h>
#include <TFTv2.h>
#include <SPI.h>

#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF

TouchScreen ts = TouchScreen(XP, YP, XM, YM);

void setup()
{
//Serial.begin(9600);
Tft.TFTinit();
}
void loop()
{
Point p = ts.getPoint();
p.x = map(p.x, TS_MINX, TS_MAXX, 0, 240);
p.y = map(p.y, TS_MINY, TS_MAXY, 0, 320);

/* if (p.z > __PRESURE)
{
Serial.print("X = “); Serial.print(p.x);
Serial.print(”\tY = “); Serial.print(p.y);
Serial.print(”\tPressure = "); Serial.println(p.z);
}
delay(800);*/

this is what i have so far it is just to see where i am touching on the x,y axes. I did have a
tft.drawRectangle in the void setup() and the points of touch in the void loop usiung if statement to go to the next “tft.drawRectangle”. Every thing worked fine until i touched the spot marked and it brought up next design the problem is the points that are marked example

if (p.x > 10 && p.x < 233 && p.y > 291 && p.y < 316) { //THIS LINE HERE!!!

//give the statement a action
Tft.fillRectangle(0, 270, 240, 40, BLACK); //draw menu body

Tft.fillRectangle(0, 0, 150, 320, GRAY1); //create section for new menus

Tft.drawString(“Windows”, 25, 25, 2, BLACK); //add new menus*/
}
the blocked out section //THIS LINE HERE stays active so when area is touched it still picks up that line. Please any help.

}