I find my kids go through phases of sorts -- especially my spirited 3 year old -- where he won't eat anything without something sweet on his plate, even the promise of desert doesn't help, he wants it on his plate.
My strategy is to not buy the stuff for awhile so its just not available. "Well, LO, we are out of that until Mommy gets to the store again, I'm sorry" -- yeah, it might be a cop out way of doing it but the old theory of "if you don't buy it, you won't eat it" works with kids too. The first 3 days might be a struggle but I found the more I push the worse it gets. Eventually, he gets hungry and will sit down to a solid meal with us as if it was his idea and we're back to a better "phase".
So I guess instead of me saying "not until you eat lunch" (which, honestly I still say quite often but it rarely works anymore -- oddly it worked when he was 2 and works with the 6 year old just fine) -- I will switch it around and say "OK, we don't have what we need to make that today, lets put a shopping list together" and then not really mention lunch at all, I just will put it in front of him.
Snacks, my best results is not asking what the kids want. I just disappear into the kitchen and come out with two plates of snack food -- a fruit, a gram cracker, cheese -- put it on trays we bought them and quite often they'll just go eat it -- no discussion -- its amazing! LOL
Good luck!!!