Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    Select By Letter & Ridimensionamento automatico immagini

    ho inserito una combobox con tt le lettere per filtrare quando uno ad esempio nella combo mette A filtra tt i titoli con la A

    ma non sò come farglielo capire

    if vetttitolo(i) = "A" & * then

    ho provato una cosa del genere ma non funge

    ------------

    poi volevo farvi un esempio...

    attraverso una commondialog apro un'immagine

    poi faccio il loadpicture

    facciamo conto che l'immagine è 352x288 e io voglio che VB la metta in auto in 80x80 come posso farE???

  2. #2
    Manca il linguaggio nel titolo..

    1a domanda: che significa "fare il filtraggio"? Cmq se ho ben capito vuoi che, inserendo una o più lettere, il combobox si posizioni sulla prima voce che corrisponde a quel criterio, giusto?

    2a domanda: carica l'immagine in un controllo Image, carichi l'immagine attraverso il comando loadpicture e poi imposta la proprietà "stretch" = true, modificando successivamente le dimensioni dell'immagine a tuo piacimento:
    codice:
    me.scalemode = 3 'metti come sistema di misura i pixel
    image1.picture = loadpicture("c:\miaimmagine.bmp")
    image1.stretch = true
    image1.height = 80'qui metti il valore che ti interessa
    image1.width = image1.height '(visto che metti per esempio 80x80)
    ciao

  3. #3
    allora no...nella combobox ci sono tutte le lettere dell'alfabeto

    sotto una list box con una lista completa di 92 nomi

    se te nella combobox metti la Z

    filtra tutti i nomi nella listbox che cominciano per Z

  4. #4
    Si, ma se non mi spieghi come intendi filtrare, come posso fare? Intanto ti scrivo un codice che ti salva in una matrice l'item degli elementi della listbox che corrispondono al criterio da te imposto, ossia la prima lettera.
    codice:
    Dim matr() As String
    lettera = "A"
    cont = 0
    For i = 0 To List1.ListCount - 1
        If LCase(lettera) = LCase(Left(List1.List(i), 1)) Then
            ReDim Preserve matr(cont)
                matr(cont) = i
                cont = cont + 1
        End If
    Next i
    For i = 0 To UBound(matr)
        MsgBox matr(i)
    Next i
    fammi sapere..

    ciao

  5. #5
    eccoti uno screen del main del prog


    allora nel form load carica tutti i titoli da file che ho chiamato dvd.lst

    se nella combobox selezioni una lettera dell'alfabeto e premi OK nella listbox sottostante vengono visualizzati tutti i titoli che cominciano con la lettera Z

  6. #6
    Ma l'hai provato il codice che ti ho postato?!?!? Prova questo:
    codice:
    Private Sub Command1_Click()
    Dim matr() As String
    lettera = cstr(combo1.text)
    cont = 0
    For i = 0 To List1.ListCount - 1
        If LCase(lettera) = LCase(Left(List1.List(i), 1)) Then
            ReDim Preserve matr(cont)
                matr(cont) = List1.List(i)
                cont = cont + 1
        End If
    Next i
    If UBound(matr) <> 0 Then
    List1.Clear
        For i = 0 To UBound(matr)
            List1.AddItem matr(i)
        Next i
    End If
    End Sub
    Mi raccomando, provalo!!!!

    ciao

  7. #7
    sei troppo bravo per me...in questo codice ci perdo la testa...nel frattempo che io elaboro...ti faccio un'altra domanda...

    una volta che uno ha caricato l'immagine vorrei che la salvasse nel formato che abbiamo detto prima nella app-path è+ possibile?

  8. #8
    quel codice funziona ma solo con la lettera A!!!

  9. #9
    Ciao..il primo codice funziona solo con la lettera "a" ma il secondo con tutte. Ad ogni modo ti posto un codice veramente semplice ma funzionale che fa quello che vuoi (almeno penso e spero):
    codice:
    Const LB_FINDSTRING = &H18F
    Private Sub Text1_Change()
    List1.ListIndex = SendMessage(List1.hwnd, LB_FINDSTRING, -1, ByVal CStr(Text1.Text))
    End Sub
    Chiaramente questo codice va bene se le lettere sono inserite in una textbox e la listbox si chiama list1. Provalo..
    Poi lo puoi adattare ad una combobox..

    ciao

  10. #10
    mmmm non funge...ti faccio vedere cosa ho fatto..

    codice:
    Private Sub cmbfiltra_Change()
    lsttitoli.ListIndex = SendMessage(lsttitoli.hWnd, LB_FINDSTRING, -1, ByVal CStr(cmbfiltra.Text))
    End Sub
    ho tolto questo da cmdok

    codice:
    Private Sub cmdok_Click()
    'If cmbfiltra.ListIndex = 1 Then
    '    lsttitoli.Clear
    '    ordinamento
    'Else
    '    lettera = CStr(cmbfiltra.Text)
    '    cont = 0
    '    For i = 0 To lsttitoli.ListCount - 1
    '        If LCase(lettera) = LCase(Left(lsttitoli.List(i), 1)) Then
    '            ReDim Preserve matr(cont)
    '                matr(cont) = lsttitoli.List(i)
    '                cont = cont + 1
    '        End If
    '    Next i
    '    If UBound(matr) <> 0 Then
    '    lsttitoli.Clear
    '        For i = 0 To UBound(matr)
    '            lsttitoli.AddItem matr(i)
    '        Next i
    '    End If
    'End If
    End Sub

    ho anche provato a mettere la stringa nel pulsante ok...ma niente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.