Jag har ett VB-program som innehåller OLEobjekt-kopplade till olika bilder. När jag dubbelklickar på bilderna öppnas ett ritprogram och den bild som finns på formuläret. Hej Nettan. JO men det blir ändå struligt Skulle helst vilja använda OLE objektet.OLE.savetoFile
Det funkar att editera bilden och stänga ner objektet igen. Så allt väl!!
Bilden ändras i formuläret. Hur gör jag för att spara ändringen i den fil som OLE objektet visar ???
savetoFile antar jag att jag ska använda men jag får inte det att fungera!!Sv: OLE.savetoFile
Nu har jag haft lite tid att fundera på problematiken.
Det enklaste är nog att bilderna på formarna visas i image-kontrollen
sätt stretch-egenskapen till true (Då blir bilderna alltid lika stor som image-kontrollen, även om de görs större i x eller y-led.)
När bilden skall ändras, vilket inte förmodligen behöver ske alltför ofta
får man klicka på knappen "redigera bild" och kör du en shellexecute,
Visio startar och bilden redigeras och sparas ner. Sist i den funktionen
där shellexecute anropades så ser du till att göra en image.picture =
loadpicture(Den nyligen redigerade bilden).
Det blir bara krångligt att använda OLE, och för användaren är det egentligen ingen direkt skillnad.
Pseudo-kod
Private Sub Command1_Click()
'User clicks "redigera bild"
ShellExecute VisioBild
Image1.Picture = LoadPicture(VisioBild)
End Sub
Pseudo-koden ovan funkar bara om visio startas modalt, då stannar
exekveringen i click-eventet. Just nu är jag osäker på om man kan
starta Visio modalt med hjälp av ShellExecute, men det kan jag kolla
på måndag i API-guiden.
I annat fall lägger du bara in ytterligare en knapp som man måste
uppdatera bilden på formen med.
/peterhSv: OLE.savetoFile
Är det ingen sm vet hur jag uppdaterar och SPAR ändringarna till filen i OLE objektet????