Newsgroup: it.comp.lang.visual-basic
Titolo: Oggetti Delphi in VB

Ciao a tutti,
ieri ho visto un programma sviluppato in delphi con dei controlli
carinissimi utili a rappresentare uno scaffale dove posizionare le bottiglie
di vino presenti in cantina, era un controllo grafico che si costruisce in
modo dinamico, basta dire quanti piani e quante bottiglie per piano e lui
costruisce una matriciona dove poi ci posizioni con dei pallini colorati in
modo diverso le tue bottiglie di vino. Credere esista già qualcosa di simile
in VB?
Grazie ciao
Roberta

Ciao Rob,
Non credo esista qualcosa di simile, ma se hai i sorgenti del programma
Delphi, ti
posso indicare come ricavare un ActiveX dai sorgenti.
Andrea

 ha scritto nel messaggio
news:bob01o$1amrqu$1...@ID-170738.news.uni-berlin.de...


 ma purtroppo non ho i sorgenti.
Allora se vuoi su it.comp.lang.delphi ti possiamo aiutare a
costruirne uno simile e poi lo porti in ActiveX sotto VB... che ne pensi?
Andrea

 ha scritto nel messaggio
news:bob08q$1ce7mh$1...@ID-170738.news.uni-berlin.de...


 Si può tentare.

Ma perchè non te lo fai in VB ? ... farà schifo nella grafica ma per
disegnare in 2d non va male ...
se mi dai in cambio i primi due ripiani di bottiglie di vino (piene
ovviamente), te lo faccio io :)
Saluti

 ha scritto nel messaggio
news:bob0ri$1c2rq8$1...@ID-169051.news.uni-berlin.de...



Qualcosa di pronto e' difficile, comunque come ti hanno suggerito, con un
minimo sforzo dovrebbe essere possibile fare qualcosa di simile...
se ho capito bene cosa ti serviva, ecco un piccolo esempio da usare come
punto di partenza ; aggiungi ad una form due TextBox (txtPiani e
txtBottiglie), un CommandButton (cmdDraw) e un PictureBox (picMain)
abbastanza grande, quindi incolla il codice che segue: digita nei textbox le
dimensioni della griglia, premi il pulsante e quindi fai click sulla picture
stessa
Option Explicit
Private Piani As Long
Private Bottiglie As Long
Private Sub cmdDraw_Click()
    Dim i As Long, j As Long
    Piani = CLng(txtPiani.Text)
    Bottiglie = CLng(txtBottiglie.Text)
    With picMain
        'definiamo una scala personalizzata per la nostra griglia
        .ScaleHeight = Piani
        .ScaleWidth = Bottiglie
        'impostiamo lo stile di "sfondo"
        .ForeColor = vbWhite
        .FillColor = RGB(128, 128, 128)
        .FillStyle = vbFSSolid
        .AutoRedraw = True
        .Cls
    End With
    'creiamo la griglia
    For j = 0 To Bottiglie - 1
        For i = 0 To Piani - 1
            picMain.Line (j, i)-(j + 1, i + 1), , B
        Next
    Next
End Sub
Private Sub picMain_MouseUp(Button As Integer, Shift As Integer _
        , X As Single, Y As Single)
    Dim Vino As String
    Dim iX As Long, iY As Long
    Dim IsEmpty As Boolean
    If Button <> vbLeftButton Then Exit Sub
    'ricaviamo l'angolo della cella, per i calcoli successivi
    iX = Int(X)
    iY = Int(Y)
    If iX <= Bottiglie And iY <= Piani Then
        Vino = InputBox("Che vino in questa cella?" & vbCrLf _
                & "(b)ianco, (r)osso, o (n)essuno)")
        Select Case LCase(Vino)
        Case "b"
            picMain.FillColor = RGB(0, 196, 0)
        Case "r"
            picMain.FillColor = RGB(196, 0, 0)
        Case "n"
            picMain.FillColor = RGB(128, 128, 128)
            IsEmpty = True
        Case Else
            Exit Sub
        End Select
        If IsEmpty Then
            'ridisegnamo la cella con un rettangolo del colore di sfondo,
            'cancellando eventuali bottiglie disegnate in precedenza
            picMain.Line (iX, iY)-(iX + 1, iY + 1), , B
        Else
            'disegna la bottiglia del colore scelto e il "tappo",
            'ovvero due cerchi concentrici; poiche' usaimo uno ScaleMode
            'personalizzato, il centro della cella, quindi dei cerchi,
            'e' sempre la coordinata dell'angolo + 1/2, indipendentemente
            'dalle dimensioni effettive della cella
            picMain.Circle (iX + 0.5, iY + 0.5), 0.5
            picMain.FillColor = RGB(64, 0, 0)
            picMain.Circle (iX + 0.5, iY + 0.5), 0.1
        End If
    End If
End Sub
Ciao
-- 
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

 ha scritto nel messaggio
news:bob1pu$1ccjeb$1...@ID-138791.news.uni-berlin.de...


 txtBottiglie), un CommandButton (cmdDraw) e un PictureBox (picMain)
---- Tutto un cut ---
Alla faccia della pappa pronta ...
mica c'era in palio nessuna barrique :)
Almeno fai finta di esserti impegnato
Saluti alcolici

 Almeno fai finta di esserti impegnato
In realta' per quanto riguarda i metodi grafici sono abbastanza negato,
l'unica eccezione sono proprio le griglie, per le quali invece mi sono fatto
le ossa col mio programma di scacchi
