Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: costruire un OCX

  1. #1

    costruire un OCX

    salve a tutti...vorrei realizzare un ActiveX (OCX) da zero....ovvero non so proprio come si fa...

    vorrei quindi creare:

    - proprietà
    - metodi
    - eventi

    che meglio credo...anche se è naturale che qualcosa deve ereditare da altri oggetti che "assemblo" per fare il mio OCX..

    pensavo di iniziare...(così per fare delle prove) da un ocx per la visualiozzazione delle immagini...e qunidi con 2 picturebox e le barre di scorrimento...io scrivo tutto il codice poi lo compilo b(non so se si fa così) e poi do all'utente finale soltanto l'OCX...

    l'utente non fa altro che caricarlo ed includerlo nel suo progetto...

    avete sotto mano tutorial, articoli, corsi...info???

    grazie.
    Let's your dream came true!

  2. #2
    nessuno sa come costruire un OCX con Visual Basic 6???

    informazioni, articoli, corsi....???

    Let's your dream came true!

  3. #3
    ma gli ocx non si fanno in assembler??

    magari sto dicendo una cazzata ...

  4. #4
    gli ocx si possono fare con molti linguaggi...io personalmente li ho visti fatti non Visual C++ ma pensavo che si potessero fare anche in Visual Basic magari sfruttando gli oggetti classici di VB...

    aiutatemi...
    Let's your dream came true!

  5. #5
    Intanto fai un nuovo progetto "ActiveX control" per crearti il progetto per il tuo ocx. Ti ritroverai una speceie di form senza bordi che è il contesto grafico del tuo OCX. Poi per programmare fai esattamente come un progetto normale, per fare riferimento al controllo stesso usi la parola chiave UserControl.

    METODI: Sono semplicemente delle sub o delle function Public.
    PROPRIETA: devi dichiarare separatamente quelle per leggere e per scrivere i valori delle proprietà, dichiarandone una sola poi impostare una proprietà di sola lettura o sola scrittura.
    qui hai un esempio per la lettura e la scrittura delle proprtietà
    codice:
    Public Property Get NomePriprietà() as string
    ...
    end property
    Public Property Set (val as string)
    ...
    end property
    ovviamente i parametri possono essere quelli scielti da te
    EVENTI: li dichiari all'inizio del codice, fuori da qualsiasi sub o function.
    codice:
    Public Event NomeEvento(str as string)
    per per scatenare un evento leggibile dalla form che contiene il controllo (come ai con qualsiasi controllo)
    codice:
    ...
    RaiseEvent NomeEvento("questo è un parametro dell'evento")
    ...

  6. #6
    Uau ma anche con VB?
    Bene sotto a chi tocca e mi raccomando, createmi una bella listview di quelle serie!!

    Thanks a Lot!!

  7. #7
    Originariamente inviato da DeBe99
    EVENTI: li dichiari all'inizio del codice, fuori da qualsiasi sub o function.
    codice:
    Public Event NomeEvento(str as string)
    per per scatenare un evento leggibile dalla form che contiene il controllo (come ai con qualsiasi controllo)
    codice:
    ...
    RaiseEvent NomeEvento("questo è un parametro dell'evento")
    ...
    non ho capito l'ultima cosa...se ad esempio voglio fare l'evento triple Click (tre click) e lo voglio chiamare TrplClick come faccio

    e ad esempio l'evento che si scatena quando faccio tasto destro sopra???


    grazie.


    poi se voglio fare una proprietà di lettura e scrittura come faccio???


    arigrazie.
    Let's your dream came true!

  8. #8
    per creare una proprietà readonly basta non mettere la routine let/set vedere 3d sulle classi in rilievo

    per il triploclick diventa un po' + dificile perchè non è un messaggio di windows quindi devi fare un subclassic temporizzato
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  9. #9
    scusate ma i si stà incasinando la testa...

    vi spiego il tutto....

    vorrei fare un OCX (e quindi di estenzione .OCX e non ctl) formato da una picture, e 2 flat scrollbar...

    per iniziare volevo ad esempio mettere a disposizione dell'utente le seguenti proprietà:

    -Speedsia lettura che scrittura) permette all'utente di impostare o leggere la proprietà dello scrolling
    -PicApparance (accessibile solo in fase di progettazione)emette all'utente di scegliere come vederel'immagine (3d, flat)
    -ScrollApparance (accessibile solo in fase di progettazione)èermette all'utente di scegliere come vedere le 2 scrollbar (3d, 2d, 3d solo con il mouse sopra che poi sono già alcune delle proprietà che il il controllo)

    ad esempio queste 3 proprietà come posso fare...grazie...
    Let's your dream came true!

  10. #10
    per la fase di progettazione non so ma se desideri passare i valori solo all'avvio del componente basta passarli nell'evento initialize della classe


    codice:
    Enum Apparence
       Flat = 0
       Tridimensionale = 1
    End Enum
    
    Private m_aspettoPic As Apparence
    Private m_aspettoScroll As Apparence
    Private m_speed As Integer
    
    Private Sub UserControl_Initialize(ByVal aspPic As Apparence, ByVal aspScr As Apparence)
       m_aspettoPic = aspPic
       m_aspettoScroll = aspScr
    End Sub
    
    Property Get AspettoPic() As Apparence
       AspettoPic = m_aspettoPic
    End Property
    
    Property Get AspettoScroll() As Apparence
       AspettoScroll = m_aspettoScroll
    End Property
    
    Property Get Speed() As Long
    
    End Property
    
    Property Let Speed(ByVal millisecond As Integer)
    
    End Property
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

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.