Mikähän on hommassa vialla: yritän muuttaa PowerPointissa (2000 SP3) objekteja kuva, command button jne. näkymättömiin (visible=false) ohjelmallisesti mutta ei vain vaikuta mitenkään. Otsiton (caption) saa kyllä muuttumaan mutta visible ominaisuutta ei.
Visible=false toimii kyllä, jos sen muuttaa properties valikosta suoraan manuaalisesti.
Alla on vielä testikoodinpätkää, aktivoituu "erillisestä" commmand-painikkeen klikkauksesta.
Private Sub cmdVisible_Click()
If lblTeksti.Visible = True Then
lblTeksti.Visible = False
cmdHideCommand.Visible = False
imgPicture.Visible = False
lblTeksti.Caption = "Piilotettu"
cmdHideCommand.Caption = "Piilotettu"
Else
lblTeksti.Visible = True
cmdHideCommand.Visible = True
imgPicture.Visible = True
lblTeksti.Caption = "Näkyvissä"
cmdHideCommand.Caption = "Näkyvissä"
End If
End Sub
Visible=false toimii kyllä, jos sen muuttaa properties valikosta suoraan manuaalisesti.
Alla on vielä testikoodinpätkää, aktivoituu "erillisestä" commmand-painikkeen klikkauksesta.
Private Sub cmdVisible_Click()
If lblTeksti.Visible = True Then
lblTeksti.Visible = False
cmdHideCommand.Visible = False
imgPicture.Visible = False
lblTeksti.Caption = "Piilotettu"
cmdHideCommand.Caption = "Piilotettu"
Else
lblTeksti.Visible = True
cmdHideCommand.Visible = True
imgPicture.Visible = True
lblTeksti.Caption = "Näkyvissä"
cmdHideCommand.Caption = "Näkyvissä"
End If
End Sub
Vastaukset 2
Vanhimmat
hevon skeidaa, mutta täytyy sielläkin olla jotai perusjuttuja.
Kaippa Visualissakin = on sijoitusmuuttuja ja == on vertailuoperaattori.
if lblTeksti.Visible = True siis tarkoittaa käytännössä sitä, että jos lblTeksti.Visible arvon asettaminen Trueksi onnistuu, niin silloin iffi on true.
if lblTeksti.Visible == True taas tarkistaa, että onko se lblTeksti.Visible True.
Koodissa ei sinänsä ole mitään vikaa: VB:ssä tarkistus tehdään todellakin
if joku = jotain then
joku = jotain
end if
Kyse on nyt vain siitä, miksi objekti.visible = false ei vaikuta.