I haven't ever seen a way to do this in Visual Logic, but I've done it in scripting quite a few times. We have a franchise that has multiple options (AM Edition, Noon Edition, Evening Edition, Weekend Edition, etc), and each has its own unique logo. I published the visibility of all but one (the basic "fnf" logo), then used this script:
dim fnf as xpBaseObject
dim fnfam as xpBaseObject
dim fnfnoon as xpBaseObject
dim fnfpm as xpBaseObject
dim fnfwkd as xpBaseObject
dim fnfspcl as xpBaseObject
Self.GetObjectByName("FNF Logo", fnf)
Self.GetObjectByName("FNFAM Logo", fnfam)
Self.GetObjectByName("FNF Noon Logo", fnfnoon)
Self.GetObjectByName("FNFPM Logo", fnfpm)
Self.GetObjectByName("FNF Weekend Logo", fnfwkd)
Self.GetObjectByName("FNF Special Logo", fnfspcl)
if fnf.Visible=True then
fnfam.Visible=False
fnfnoon.Visible=False
fnfpm.Visible=False
fnfwkd.Visible=False
fnfspcl.Visible=False
elseif fnfam.Visible=True then
fnf.Visible=False
fnfnoon.Visible=False
fnfpm.Visible=False
fnfwkd.Visible=False
fnfspcl.Visible=False
elseif fnfnoon.Visible=True then
fnf.Visible=False
fnfam.Visible=False
fnfpm.Visible=False
fnfwkd.Visible=False
fnfspcl.Visible=False
elseif fnfpm.Visible=True then
fnf.Visible=False
fnfam.Visible=False
fnfnoon.Visible=False
fnfwkd.Visible=False
fnfspcl.Visible=False
elseif fnfwkd.Visible=True then
fnf.Visible=False
fnfam.Visible=False
fnfnoon.Visible=False
fnfpm.Visible=False
fnfspcl.Visible=False
elseif fnfspcl.Visible=True then
fnf.Visible=False
fnfam.Visible=False
fnfnoon.Visible=False
fnfpm.Visible=False
fnfwknd.Visible=False
end if
It simply goes through every item to see if something is set to visible, then turns the visibility off on every other object. There's a lengthier section following it that displays a warning message if more than one is set visible, as well.
#XPression