Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Oggetto VB

Ho necessità di disegnare (righe, cerchi, punti, ecc.) su di un oggetto
contenitore, diciamo tipo PictureBox, che però abbia uno sfondo trasparente.
Questo perchè una volta creati tanti oggetti con all'interno i loro
disegnetti, ognuno sarebbe indipendente e selezionabile in qualsiasi
momento, oppure spostabile oppure .... opprure ... ECC.
Esiste un oggetto con queste caratteristiche e che sia gratuito?
Grazie e ciao
maurizio

Dipende dal numero di offese che sei disposto a beccarti, perché è un
oggetto di vb (picturebox).
(Tutto ha un prezzo)
s.

 ha scritto nel messaggio
news:alb22b$1ean$1...@newsreader1.mclink.it...


 E' già possibile farlo con una normale pictureBox ?
Maurizio, ciao. (ehmm, ora, da un mio post di oggi, sanno tutto di noi).
A parte il trasparente, il discorso del bordo che, anche se assente, "frega"
un pixel, come lo risolvi?
Sientammè, disegna direttamente sulla form.
PS: Qui si quota e si risponde dopo il messaggio, non prima.
Ti son saltato addosso io, prima che lo facciano altri.
Luigi/Lupo.


Io quoto quando devo commentare cose già dette da altri.
Se devo dire del nuovo, cosa quoto? Diciamo delle ENEL? o BPOP?
Ciao bello e grazie
maurizio

 Se devo dire del nuovo, cosa quoto? Diciamo delle ENEL? o BPOP?
Questa è davvero carina. Mi riferivo a come hai risposto a stefano, non al
tuo primo post.
Ciao.

 Questa la tengo come soluzione alternativa
io la prenderei in seria considerazione fossi al tuo posto. io farei cosi:
- salvi in un array (o collection, o classe fatta da te o quello che vuoi)
tutte le informazioni (tipo, pos, dimensioni, zorder) riguardanti ogni
oggetto
- tramite una routine, magari scatenata dall'evento paint del form (o del
supporto su cui hai intenzione di far vedere il disegno), attngendo i dati
dall'array ti stampi sul form ogni oggetto
- poi puoi scriverti una sorta di hittest che ti dica se nel punto x, y ci
si trova sopra ad un oggetto o meno
- utilizzando la funct di cui sopra ti puoi fare tutto un meccanismo di
drag-drop per lo spostamento e il ridimensionamento di ogni oggetto, puoi
visualizzare menu alla pressione del tasto destro per modificare le
proprieta' dell'oggetto selezionato... tutto quello che vuoi, insomma.
ciao, assa.

 ha scritto nel messaggio
news:alb82m$1old2f$1...@ID-60516.news.dfncis.de...

Grazie assa.
Lo immaginavo che facendo in quella maniera sarebbero nati un sacco di
"tutto quello che vuoi".
Non arrabbiarti, non ti sto sfottendo, anzi.
Visto che sei così ferrata/o in materia provo ad insistere nella richiesta.
L'idea è quella di caricare disegni/oggetti provenienti dalla lettura di
file DXF.
Ogni DXF è un oggetto a sè.
L'esposizione può avvenire o sulla form o su una Pic, è indifferente ed
irrilevante.
Il problema è il tempo, che non ho.
Sai se in giro c'è qualche sorgente già pronto per fare quello che mi serve
nella maniera che hai presentato tu?
Sarebbe una manna dal cielo.
ciao, maurizio

 nella maniera che hai presentato tu?
purtroppo non conosco nessun componente o sorgente che faccia quello che
vuoi...
ciao, assa.


Ciao e grazie ancora. Ci sto pensando a quello che hai detto.
La soluzione č buona.
grazie ancora
maurizio

  e spostamento dei vari oggetti tramite drag drop
Che sistema hai usato ? ReleaseCapture e SendMessage,
il sistema di SoftCircuits, oppure quello di Zanna ed Ettore
del DataRaptor sul S.C. ?
O lavori direttamente su una bitmap, xorando gli oggetti ?
Giusto per curiosità, perché sto lavorando ad un progetto
piuttosto complesso, che deve fare _anche_ questa cosa.
Bye, G.

 Sarebbe una manna dal cielo.
Ti servirebbe (per cominciare :-) ) un OCX che gestisca i DXF.
Prova a vedere se trovi qualcosa:
http://www.google.it/search?q=OCX+DXF+VB
Ma non sperare di trovarlo aggratise :-)
Tanto per dire, 
http://kadmos.com/activex/index.php3
DXFReader costa 159 euro.
Bye, G.

 Ma non sperare di trovarlo aggratise :-)
Oh, be', mai dire mai. Magari dai un'occhiata qui:
http://downloads-zdnet.com.com/3101-2206-0-1.html?tag=pop
Bye, G.

"Paperino" <non...@lo.dico> ha scritto

stavo per postare questi, ma non ho capito se si possono usare via vb:
http://usa.autodesk.com/adsk/section/0,,837637-123112,00.html
dnld:
http://usa.autodesk.com/adsk/index/0,,837403-123112,00.html
ciao, a.

 
http://usa.autodesk.com/adsk/section/0,,837637-123112,00.html
E' uno dei due che avevo notato:
http://downloads-zdnet.com.com/3000-2402-911567.html?tag=list
Volo View Express runs inside ActiveX Control container programs
such as Internet Explorer, Word, PowerPoint, or Excel
E' un Active-X, suppongo che vada anche in VB. D'altra parte non so
se (=non credo) risponda alle caratteristiche richieste da maumao. :-(
In compenso ci stiamo scordando le risorse, come dire ? fondamentali.
Di Fabio Guerrazzi, PubDXF:
http://www.sourcecode4free.com/cgt/source.htm
che è anche sul S.C. (la versione andrebbe aggiornata, tra l'altro).
Da Google:
http://groups.google.com/groups?as_q=DXF&as_ugroup=it.comp.lang.visual-basic&lr=&num=100&as_scoring=d
Bye, G.

"Paperino" <non...@lo.dico> ha scritto nel messaggio
news:albcub$5uee$1...@stargate1.inet.it...

visto che so molto poco di tutto quello che hai scritto sopra ti scrivo qua
sotto quello che ho fatto che cosi' vedi tu.
probabilmente sara' il piu' sconveniente (l'ho pensato da solo, non si puo'
pretendere troppo :) ). in ogni caso ecco il mio sistema:
- creare uno usercontrol con autoredraw = false
- creare una bitmap in memoria (con i soliti createcompatibledc e compagni)
grande quanto lo usercontrol
- scrivere una classe che possa contenere tutte le informazioni riguardanti
un oggetto ed esponga una function che ritorna un RECT della sua posizione
sulla bitmap
- attraverso una routine ciclare un array o collection delle classi di cui
sopra disegnando tutte le forme da esse descritte sulla bitmap in memoria
- finito il draw completo, riportare tutto su usercontrol tramite una
semplice bitblt (questo per evitare sfarfallamenti e sbavature durante la
stampa)
- scrivere una funzione che ti dica se un punto x, y sta all'interno di un
RECT o meno
- scrivere una funzione hittest che (dati x e y) cicli anche lei tutto
l'array di classi e chiamando ogni volta la funzione di cui sopra, ritorni
l'indice (o puntatore a classe) dell'oggetto su cui ci si trova
- sfruttare la funzione sopra durante mousedown (salvando l'indice
dell'oggetto su cui ci si trova e la posizione del mouse in variabili
private a livello di form), mousemove (avendo indice e posizione,
riposizionare e ristampare l'oggetto in questione ad ogni movimento) e mouse
up dello usercontrol.
per il movimento usavo uno stratagemma per non dover ristampare sempre tutto
(perche' poi diventava abbastanza lento...):
- al mousedown stampavo nella bitmap in memoria tutti gli oggetti tranne
quello selezionato, ma non riportavo nulla a schermo
- al mousemove con il solito bitblt portavo la bitmap virtuale a schermo
(cosi' com'era, ovvero tutti gli oggetti tranne quello selezionato) e
stampavo l'oggetto selezionato nella nuova posizione direttamente sullo
usercontrol.
questo rendeva le operazioni di trascinamento molto meno pesanti.
ah, dimenticavo, l'array di classi di cui ho parlato sopra deve essere
ordinato per zorder, in modo che hittest si possa fermare sulla prima figura
che trova, sicura che sia quella in primo piano, incrementando cosi' le
prestazioni.
questo e' come in parte ho fatto ed in parte ho pensato io la cosa :)
ciao, assa.

 grande quanto lo usercontrol
[CUT]
La terza che ho detto, quindi. Un sistema a basso livello,
dove ti fai carico di tutto il lavoro. Faticoso da programmare,
magari, ma potente, e ti permette di avere il controllo su
ogni parte del processo.
In questo momento sto lavorando su un sistema ibrido,
cioè sposto direttamente i controlli di VB, lasciando il
grosso del lavoro al SO, con il sistema illustrato da
SoftCircuits nell'esempio formDesign. Purtroppo mi è
necessario, perché i controlli che uso devono poi essere
utilizzati come tali, non solo visualizzati, ma è un po' troppo
macchinoso per i miei gusti. Avevo cominciato a seguire
un altro sistema, semplicissimo, ma ho trovato dei limiti
un po' rognosi nel limitare i movimenti del mouse, per
ottenere l'effetto "griglia".
Se ti interessa, e se la tua mail è buona, ti mando un esempio.
Bye, G.
--
Le risposte alle tue domande sono sul Sito Comune
di questo NewsGroup: 
http://it-lang-vb.net/
... e nell'help in linea !

 Se ti interessa, e se la tua mail č buona, ti mando un esempio.
manda, manda, la mail e' genuina :)
ciao, assa.

Grazie ragazzi per la collaborazione.
Io ho trovato pure qualcosa che in VB faccia del 3D.
Se mi dite dove posso postarlo ve lo mando.
Il tutto proviene da diversi articoli apparsi su IoProgrammo di qualche mese
fa.
Sono da implementare, ma il tutto non mi sembra male.
Che faccio?