Newsgroup: it.comp.appl.access
Titolo: piccolissimo problema con il controllo Pictureimage.ocx

ho implementato in un programmino il controllo activex in oggetto, ho però
notato che la prima immagine inserita viene tagliata in quanto non viene
adattata alla dimensione della casella...
cliccando su File/Imposta Pagina e poi subito su OK questa viene adattata
correttamente, però è un passaggio che vorrei evitare... Mi dite come???
Grazie 1000
Nicola



nessuna soluzione??
Nicola

 ha scritto nel messaggio 
news:deg4i.85$RI3...@nntpserver.swip.net...

Dai un occhiata qui vedi se ti puo essere utile.
http://groups.google.it/group/it.comp.appl.access/browse_thread/thread/f67a23280c846ffe/862a979245876e3e?lnk=st&q=pictureimage.ocx&rnum=2&hl=it#862a979245876e3e
Ciao
Access 

 Access
Rispondo quanto coartefice con Carlo del controllo.
Io purtroppo non riesco a provarlo con Access in quanto ho Win2000 che
dà problemi con l'istanza di GDI, l'ho provato con VB6 e funziona
regolarmente, questo significa che il difetto in questione è da
correggere studiando il controllo
in modo dedicato ad Access, cosa che non ho modo di fare.
Sò che Carlo ha apportato alcune modifiche che lo hanno migliorato, e
sò che anche Marco Pizzamiglio ha avuto modo di lavorarci, nella
speranza che ci leggano vi saluto.
@Alex

 ha scritto nel messaggio 
news:Pzo4i.15202$U01.1...@twister1.libero.it...

Per quanto riguarda il controllo reso disponibile per il NG, confermo che 
per scaricarlo basta seguire questo link:
http://www.frantoiogestione.com/UsaImmaginiOCX.zip
Per prelevare l'ultima versione dell'ocx bisogna seguire questo link:
http://www.frantoiogestione.com/PictureImage.ocx
Ciao, Carlo 

 ha scritto nel messaggio 
news:Pzo4i.15202$U01.1...@twister1.libero.it...
Vorrei aggiungere che anche con il nuovo ocx non sono riuscito a fare un 
corretto ridimensionamento nei report di Access...almeno e unicamente per la 
prima immagine. Infatti le altre immagini eventualmente presenti nel report, 
vengono correttamente ridimensionate.
Il problema di cui sopra non si presenta nelle maschere di Access e nella 
stampa del report; in quest'ultimo caso infatti le immagini stampate 
risultano perfettamente ridimensionate.
Sono d'accordo con Alex@ che il problema riguarda Access e in particolare i 
report, in quanto in VB non si presenta.
Ciao, Carlo 



ciao Carlo, 
per quanto riguarda la stampa, è vero che su carta il problema
non si presenta, però se stampo su PDF il problema persiste... c'è un modo
per fare, chessò, un refresh veloce del report? 
credo che in questo modo si risolverebbe e l'utente non si accorgerebbe di
nulla se non di un tempo maggiore di elaborazione....
Nicola

 Nicola
Purtroppo ho fatto diversi tentativi senza risultato....
Una soluzione potrebbe essere quella di stampare una maschera a cui avrai 
dato l'aspetto di un report.
Ciao, Carlo 



Seguirei il tuo consiglio solo se riuscissi a capire come inserire più foto
in una maschera con questo controllo e senza usare le API...
Ci sto combattendo da circa 3 anni e se solo riuscissi a trovare la
soluzione a tutto ciò, risolverei tanti di quei problemi in azienda a cui
non sono riuscito mai a trovare una soluzione..
Ti sarei infinitamente grato se mi spiegassi come fare o se mi mostrassi
esempi su cui posso "formarmi" a creare questo tipo di maschere con più
foto...
grazie 1000
Nicola

 Nicola
Esattamente cosa ti serve?
Visualizzare e stampare piů righe d'immagini?
Quante immagini in una sola maschera? Se il numero č, diciamo, inferiore  a 
sei, ti basta mettere 5 Picture...tutto dipende dalla grandezza.
Ciao, Carlo 

 Ciao, Carlo
quello che mi serve è costruire un browser di immagini che mi permetta
tramite barre di scorrimento verticali di scorrere le immagini relative ad
una categoria merceologica o tutto l'archivio in base a cosa l'utente
sceglie( e magari associarci i dati relativi a prezzo, esistenza o altro)....
il problema nasce nel momento in cui devo associare queste picturebox ai
record... come si fa a comunicare che le picturebox[1..n] devono
associarsi ai relativi record?
come comportarsi allo scorrimento delle 6 immagini successive??
Grazie per l'attenzione
Nicola

 Nicola
Più di tante parole ho preferito mettere in linea un db di esempio...
Quello che devi cambiare è il contenuto della tabella "PercorsoPiùImmagini" 
inserendo percorsi validi di altrettante immagini.
Inseriscine almeno 6/9.
La maschera "Maschera1" è solo un esempio: presenta le prime sei immagini e 
cliccando sulla barra laterale puoi vederne a gruppi di sei.
La barra laterale è presa dalla dll di sistema FM20.dll (Microsoft Forms 
2.0 - controllo ScrollBar) e devi accertarti che esista in 
c:\windows\system32.
Come potrebbe funzionare: supponiamo che tu voglia applicare un filtro di 
ricerca alle tue immagini; devi scrivere il codice che ti svuota la tabella 
"PercorsoPiùImmagini" e vi accoda il risultato del filtro desiderato avendo 
cura di riempire in sequenza i percorsi immagine a gruppi di sei. A questo 
punto, sempre da codice, apri la maschera...che mostrerà il risultato.
Ci possono essere anche altre strade,  ma comincia da questa. L'importante è 
capire il concetto.
Questo il link:
http://www.frantoiogestione.com/UsaPiuImmagini.zip
Ciao, Carlo 



diciamo che è esattamente quello che voglio ottenere...
il problema è che non ho modo, partendo dalla mia tabella dati, di
riempire una matrice di percorsi 6 x n...
Nicola

 Nicola
E perchè mai? Non sai o non è quello che ti serve?
Posta la struttura della tabella dati e di eventuali filtri che vorresti 
applicare.
Ciao, Carlo 



La struttura della tabella è semplicissima, ha i campi (indico solo
quelli che al momento ricordo in quanto ce ne sono molti di più):
codice/descrizione/prezzo/qtaXct/giacenza/impegnati/percorso/categoria/sottocategoria
per un totale di circa 15000 articoli...
i filtri li ottengo tramite 2 caselle di riepligo che mi filtrano
categoria/sottocategoria in base alla selezione che vado ad effettuare
oppure tramite i campi di ricerca su codice, descrizione o fasce prezzo
sotto le miniature vorrei visualizzare codice, prezzo, qtaXct e la qtà
ordinabile ottenuta dalla differenza tra la giacenza e impegnati (che è
già calcolata nella tabella principale...
Nicola


Quello che posso fare è cercare di spiegare le cose importanti.
Il problema da risolvere è quello di mettere in orizzontale (in sei campi o 
colonne) i valori di sei record.
Nessun problema per il filtro, lo crei e ne ottieni una serie di record con 
i valori desiderati.
Questi valori (nel nostro caso i path delle immagini ma puoi aggiungerci 
quello che vuoi) vanno traslati a gruppi di sei in una tabella di appoggio 
che ha appunto sei campi: Percorso1,2,3...6.
Lo si può agevolmente fare con un ciclo di While...Wend.
All'interno di questo ciclo leggi i valori dei record (6) del filtro in 
sequenza e ne accodi il valore al campo Percorso + variabile numerica della 
tabella di appoggio:
While Not rcsFiltro.EOF
    If Not IsNull(rcsFiltro!PathImmagine) Then
        rcsPath("Percorso" & i) = rcsFiltro!PathImmagine
        i = i + 1
            If i = 7 Then 'se il valore è 7 vuol dire che deve aggiungere un 
nuovo record
            i = 1
            rcsPath.Update
            rcsPath.AddNew
            End If
    End If
    rcsFiltro.MoveNext
Wend
Ti sarà più chiaro con l'esempio che puoi scaricare da qui:
http://www.frantoiogestione.com/UsaImmaginiReport.zip
Tieni presente che ho aggiunto una tabella Prodotti del tutto immaginaria e 
anche la query filtro per cattegorie è del tutto immaginaria.
Dovrai adattare il tutto, compreso i nomi dei campi al tuo caso reale.
La funzione che fà partire il tutto e che apre la maschera con le immagini 
si chiama "AccodaPathImmaginiFiltro".
Per testare il programma di esempio ti basta cambiare il path immagini alla 
tabella Prodotti con un percorso valido sul tuo pc.
Tieni ancora presente che la tabella di appoggio "PercorsoPiùImmagini" ha 
solo sei campi, Percorso1,2,3...6 e che se a te interessa avere anche altri 
valori come "Codice" e "Prezzo", dovrai aggiungerli alla tabella di appoggio 
con nomi seguiti da numero: Codice1,2,3...6; Prezzo1,2,3...6 ecc.
Lo stesso dovrai fare al codice:
rcsPath("Percorso" & i) = rcsFiltro!PathImmagine
diventa:
rcsPath("Percorso" & i) = rcsFiltro!PathImmagine
rcsPath("Codice" & i) = rcsFiltro!Codice
rcsPath("Prezzo" & i) = rcsFiltro!Prezzo
Fammi sapere,
ciao, Carlo



Davvero niente male questo sistema, spero di poterlo adattare senza
problemi al mio programma senza renderlo ancora più complesso di quant'è 
già...
grazie infinite, mi rifarò vivo sicuramente in quanto so già quello che mi
attende...
Nicola