Buona sera signori…
Santissimo Antonio buona sera anche a lei !
Allora, devo implementare il DROP in un containercontrol
il containercontrol contiene altri containercontrol ( embed ) con icona e nome del file ( sono allegati ) presi da un’array di allegati email.
e fino qui per la visualizzazione vado bene… (sempre Grazie ad Antonio che mi ha insegnato come popolare un cc con altri elementi )
Adesso devo solo fare in modo di trascinare e rilasciare un oggetto ( file ) sul container control per inserire il valore.
so come inserirlo dall’esterno con embedwithin …
so come aggiornare il cc, inserendo eliminando i valori
ma non ho mai usato drop.
ho provato ma non da segni di vita…
Intanto ho messo nell’evento open :
Me.AcceptFileDrop(“special/any”)
Con l’evento open funziona
Allora, sono riuscito ad utilizzare ‘DROP’ per caricare un file, in pratica :
- ho una windows he si chiama sendemailsmtp
- all’interno un container control che contiene tanti oggetti allegato
- l’oggetto allegato un container control con una label ( nome del file ) e un canvas ( icona )
- quando trascino nell’oggetto un nuovo file viene inserito un nuovo oggetto ‘allegato’ che mostra la label, l’icona e sempre nell’oggetto ho una variabile di tipo emailattachment.
ora vorrei che quando premo su uno di questi oggetti di tipo ‘allegato’ e lo trascino fuori dal container control questo se ne vada.
Solo che non ho capito come fare l’evento per portarlo via.
if obj.FolderItem.Exists then
// appendo un allegato
dim allegato as new EmailAttachment
allegato.LoadFromFile(obj.FolderItem)
allegato.Name = obj.FolderItem.Name
allegato.MIMEType = getmimetype(obj.FolderItem)
dim allegatocc as new ccallegatosmtp
allegatocc.allegato = allegato
allegati.Append allegatocc
// append file
dim tag as integer = allegati.Ubound
dim verticale as integer = 0
dim orizzontale as integer = 0
'dim tag as integer = allegati.Ubound
tag = tag + 1
if tag = 1 then
verticale = 23
orizzontale = 3
elseif tag = 2 then
verticale = 23
orizzontale = 3 + 190
elseif tag = 3 then
verticale = 23
orizzontale = 3 + 190 + 3 + 190
elseif tag - 3 = 1 then
verticale = 23 + 25 + 3
orizzontale = 3
elseif tag - 3 = 2 then
verticale = 23 + 25 + 3
orizzontale = 3 + 190
elseif tag - 3 = 3 then
verticale = 23 + 25 + 3
orizzontale = 3 + 190 + 3 + 190
elseif tag - 6 = 1 then
verticale = 23 + 25 + 3 + 25 + 3
orizzontale = 3
elseif tag - 3 = 2 then
verticale = 23 + 25 + 3 + 25 + 3
orizzontale = 3 + 190
elseif tag - 3 = 3 then
verticale = 23 + 25 + 3 + 25 + 3
orizzontale = 3 + 190 + 3 + 190
end if
me.allegati(me.allegati.Ubound).EmbedWithin(me,orizzontale,verticale,-1,-1)
me.allegati(me.allegati.Ubound).doallegato // chiamo l'elaborazione dell'allegato
me.allegati(me.allegati.Ubound).TabIndex=me.TabIndex+tag+1
me.Refresh
end if
Fare il drag per eliminarlo diverso dal drag & drop
Puoi:
implementare un drag normale (ovvero mouse down=>true, poi segui il drag e se lo sposti via dal container lo elimini
Ma a mio avviso non una buona idea in quanto magari ci si aspetta che lo puoi spostare altrove (cartella, desktop, altro programma) e la cosa (fattibile) potrebbe essere complicata.
Potresti allora aggiungere un’icona per la cancellazione (pi immediato e semplice anche nell’utilizzo)
Semplicemente, se ho sbagliato a metterlo li… lo tiro via…
quindi voglio capire come fare a spostarlo dal container e farlo semplicemente sparire