Immagine sfondo

Buongiorno,
ho un problema con un’immagine ,a vorrei mettere come sfondo della mia form main, ho usato l’oggetto canvas e caricata l’immagine nel backdrop. Quando lancio il programma l’immagine non prende tutta la form ma solo una parte e non si adatta ai vari schermi.
Come posso fare?
Grazie
Umberto

Do not set it as a backdrop

use

g.drawpicture  thepicture,0,0,g.width,g.height

in the Canvas Paint() event

jeff,
ho fatto come dici tu ma con occupa tutto lo schermo lo spazio molto ridotto

Il suggerimento di Jeff corretto, ma se vuoi che occupi tutto lo spazio devi aggiungere qualche parametro:

g.drawpicture  thepicture,0,0,Window1.width,Window1.height,0,0,thepicture.Width,thepicture.Height

dove Window1 la form che devi riempire

Devi anche inserire un controllo eventualmente per mantenere il rapporto tra larghezza ed altezza; altrimenti cos escono immagini distorte.

Volendo puoi anche caricare un’immagine dalla cartella se ne conosci il nome senza incorporarla nel progetto …

    dim paths as FolderItem
    dim cartella as string
    #if TargetWin32
      paths = getfolderitem("")
    #elseif TargetMacOS
      paths = getfolderitem("")
    #elseif TargetLinux
      paths = getfolderitem("")
    #endif
    cartella = paths.ShellPath
    nomefile = cartella
    #if targetwin32
      nomefile = nomefile +  "\" + "nomeimmagine.jpg"
    #elseif TargetLinux
      nomefile = nomefile +  "/" + "nomeimmagine.jpg"
    #elseif TargetMacOS
      nomefile = nomefile +  "/" + "nomeimmagine.jpg"
    #endif

/// 
if nomefile.Exists then
   dim p as picture = picture.Open(nomefile)
    g.drawpicture  p,0,0,Window1.width,Window1.height,0,0,thepicture.Width,thepicture.Height
end

con questo codice carichi l’immagine dalla cartella dell’applicazione, se l’immagine in un altra cartella cambia :

      paths = getfolderitem("\\users\
omeutente\\documenti\\immagini")

Ovviamente i path sono windows sono differenti …

c:\\users\ omeutente\\documenti\\immagini