I totally forgot to mention that....my kids actually only get water during the day. occasionally for a treat, juice, but very rare and no more than once or twice a week at most.
my babies do get milk before bed (before they brush their teeth) because it helps settle their digestion and fill them up so they sleep more solidly at night, plus warm milk helps anyone settle down for sleep :-).
so you might consider switching to water during the day and milk before bed (remember to brush his teeth after he drinks it though!)
My son is younger then yours, but I can sort of relate. He too will absolutely refuse to eat if he doesn't like something. He just won't. He does not have a taste for junk food though, so don't have that problem. What I do is at any given meal, give him 1/2 of what I know he likes (yogurt, fruit are biggies) and 1/2 something he has refused (mostly meat). I do not make a fuss about it at all. I have found that after a while he gets used to seeing the things he normally refuses, and because it's not a fight, he will eventually try it. It's slow progress, but it works. I also do a lot of what Ashelen advised and will add enticing things to the items he won't eat. For example, he loves rice but does not like meat...any meat. So I chop up the meat quite fine and mix it with the rice. That works too.
But do not give him the option of junk food. And I also agree that milk should come after a meal, not before. With a meal, I only give my son water.
Good luck...picky eating is tough, but I do think they eventually outgrow it. Personally, I think the trick is not to make it a fight or power struggle. You have some great suggestions from posters above.
You can also start putting cheese and yogurt on things to entice him..like yogurt on apples, cheese on broccoli..and tell him that if he wants the cheese/yogurt/dairy...that's how he's going to get it.
ditch all the junk food...no reason to have it and it's going to fill him up so he won't be hungry for the other stuff!
He is manipulating you. As long as he is drinking liquids he will not starve to death in 24 hours. is he filling up on milk? That will keep him from eating.
What are the five things he WILL eat?
Does he get money and do his own shopping, how can he eat junk unless you are buying it and having it in the house? By the way a lot of food they call junk today is quite nourishing.Go to the search engine and get a list of healthy food and buy that tell him that's what we are eating ...PS you have to do the same as children copy us..do you eat junk at all ?
I know some wont agree with me but my mom had similar trouble with my sister way back when. The doctor told her that she would not starve herself. When she gets hungry, she will eat. Don't let him manipulate you into giving him whatever he wants. He is old enough now to know how to do that! Give him a meal and say that this is lunch and if he doesn't eat, just let it go. I suspect he will eat but he needs to know you mean business. I don't think it does him any good to let him eat junk just to get him to eat something. If he knows he has to at least try other foods, and he isn't going to get his way, he may find he likes alot of things and in a few days, things will get better. I know it sounds harsh but children that age wont starve themselves just to prove a point. If all he will eat for lunch is a glass of milk, I'll bet he'll be more willing to eat at supper. You'll probably have a really hard time with veggies, maybe start out with fruit. I'm sorry you have to go thru this. Seeing your little one not eat is a horrible thing for a mother! Good luck to you.