I had one made for my open 27 roadster about 10 years ago so the interior wouldn't get wet if it rained when I drove it to work and left it for 8 hours. (had no top).
The upholstery guy screwed on dome fasteners to the top of the cockpit area, about 8" apart and about 1" down from the top all around the sides and back, and across the top of the dash.
The vinyl had the snap on portion of the dome fasteners attached to it around the edges in corresponding positions, and it stretched a bit to snap in place, It looked good and worked well.
The only issue with covering a pick-up bed, is that at rest it will sag in the center and collect a big puddle of rain, and at speed it will baloon upward from the negative pressure area behind the cab.----You may want to pad and upholster a sheet of 1/2" plywood, with the vinyl glued to it to prevent "pouching" and "balooning"