The display is done with a texture which gets toggled, so you need one picture for each frame(right word here?dunno
) you want it to show (in his case, its four pictures because he highlights the four different menu items).
Save all these pictures as targas (tga) in your "sourcesdk_content\generic\materialsrc" directory (you may as well use a subdirectory to keep things clean), giving each of them the same name but with another number at the end, e.g. picture001.tga, picture002.tga etc.
Then, still in that directory, create an empty textfile with the same name ("picture.txt") and drag&drop it onto vtex.exe in the sourcesdk/bin directory, which should create a "picture.vtf" in your Obsidian/materials directory (make sure your Source SDK is configured for oc, and that the subdirectory you put your pictures in (if you did so) exists in your game directory as well).
The vmt you have to create doesn't need to be translated, I guess, just change the $basetexture line to fit your vtf's name.
In-Hammer:
The parameter in the Output
OnPressed “LiftSignTexToggle” SetTextureIndex 2 0.00
defines to which frame the texture toggles (so 2 means its gonna change to picture002 etc.).
"LiftSignTexToggle" is the name of a func_brush or any other visible brush entity that has the material applied.
I guess you can figure out the rest by yourself, func_physbox with parented buttons and so on...