Paul, there isn't a lot of movement as others have said, and you've got the picture of buttons and how they work. But here's how to fix the top at a particular location.
Let's say you want the top to expand and contract about the centre point and, that the long grain of the top follows the long rails. Make a stopped groove at the centre point of the short rail on the inner face. If, for discussions sake, the button is 35 mm wide, make the length of the stopped groove 35 mm too. This fixes the button position and fixes the centre point of the table/cabinet top.
Make any additional (stopped?) channels for the tongue of further buttons on the shorter end rails longer than the 35 mm width of each button and centre the button in the length of the groove to allow for movement. The further each button is from the centre point, the more you need to allow in the rail groove length for movement.
Of course you can fix the position of a table or cabinet top at other points, such as at the front or at the back using this (and other methods) causing all movement to be towards the opposite edge of the table top.
You might, for example, fix the top of a hall table that stands against a wall at the show front side allowing all expansion and contraction to occur towards the rear-- the wall side. That's just an example, but you could think of other situations where you might reasonably choose the fixed point in the table top width about which expansion occurs. Slainte.