Gambas3 > Programmazione

Creazione componenti Gambas

<< < (2/15) > >>

milio:
Urka che emozione  :-[ . Mi sento come alla vigilia di un'esame... non so se rendo l'idea  :D

Iniziamo con la prima domanda: che cos'e' un componente...

Un componente non e' altro che una classe creata, con determinate caratteristiche, per poter essere integrata con l'ide di gambas.
Questa classe puo' essere un oggetto grafico (vedi la TableView di gambas, che e' una GridView elaborata per accettare l'editazione dell'operatore) oppure una classe come Timer, che ha soltanto un'iconcina per essere visualizzata sul form, ma a 'lato pratico' e' tutto codice :).
Innanzi tutto per creare un componente e' necessario:

  Avviare Gambas :)
  Selezionare Nuovo Progetto
  Spuntare Creazione di un componente
  Scegliere il path del progetto
  Nome progetto

Su quest'ultimo (almeno penso io :) ma ho visto che non e' necessario) la prassi e' chiamare il progetto in questo modo:

  gb.nomeprogetto

In questo modo si identifica il progetto come un componente

Il progetto deve avere queste caratteristiche:

Necessarie:
  Avere la necessità di fare un componente
  Avere almeno una classe 'Esportabile' nel progetto

Non necessarie
  Una serie di Costanti Pubbliche per 'settare' il componente
  Un'icona per il componente


Avere la necessità di creare un componente
Questo l'ho messa come prima necessità perche' credo sia fondamentale.
La mia idea e' questa: se sto creando un piccolo progetto avente una classe creata ad ok per esso, non vale la pena di progettare un componente.
Se invece sto creando un progetto in cui vi siano componenti 'riciclabili' in altri progetti, allora la musica cambia...
Lo sapete tutti quanto sia piu' veloce creare un form avendo a disposizione oggetti grafici pronti all'uso e facilmente settabili ;)


Avere almeno una classe 'Esportabile' nel progetto
All'atto della creazione di una nuova classe, bisogna spuntare la casella 'Esportato'.
In questo modo si rende 'visibile' all'esterno del progetto (vale anche per progetti 'non componenti') gli eventi, le proprieta' pubbliche e i metodi pubblici.
In caso ci si dimentichi di quest'ultima operazione, basta aggiungere una linea di codice scrivendo semplicemente Export all'inizio della classe.


Una serie di Costanti Pubbliche per 'settare' il componente
Le Costanti Pubbliche sono rese nascoste con il carattere _ antecedente il nome della Costante e serve all'ide di gambas per settare diverse caratteristiche del componente

  Public Const _Properties As String
  Questa costante rende visibile le proprieta', separate da virgola, inserite all'interno di una stringa.
    Es.
        Public Const _Properties As String = "*,Action,AutoResize,Text,Picture,Arrow=True,Border=True,Menu"
  L'* rende visibile tutte le proprieta' ereditate dalla classe genitore (se e' stato specificato all'inizio della classe stessa il codice INHERITS <Classe>)
  Le restanti sono proprieta' create all'interno della classe
  Per impostare ad una proprieta' un valore di default <proprietà>=<valore>
  Per impostare un tipo di proprieta' che necessita di valori fissi (tipo Oggetto.Alignement) <proprietà>{Align.Left,Right,Center}=Center
  Per impostare un range <proprietà>{Range:0;100}=1
  Se la proprietà ha come valore un colore <proprietà>{Color} cosi' alla scelta del valore di questa proprietà apparirà il Form per la scelta dei colori.

  Public Const _DefaultEvent As String
  Setta l'evento di Default. Quando viene premuto il doppio click del mouse sopra l'oggetto nel form in costruzione, nella classe corrispondente viene creato il codice dell'evento scelto

  Public Const _Group As String
  Questa costante serve a posizionare il componente nella ToolBox di Gambas.
    Es.
        Public Const _Group As String = "Special"
  Inserisce il nostro componente nella Sezione Special accanto ai componenti Timer, Print, ...
  Se viene specificata una sezione che non esiste di default, essa viene creata (vedi mio componente gb.gridbox usa la sezione "Gambas-it.org" :) )

  Public Const _DrawWith As String
  Questa costante serve a determinare come viene disegnato il componente sul form di progettazione (e qui ci sarebbe da riempire un altro post :) vedremo in seguito)

  Public Const _DefaultSize As String
  Setta le dimensioni di default all'atto dell'inserimento nell form di progettazione

  Public Const _Similar As String
  Questo non l'ho ancora usato :(

  Public Const _Arrangement As String
  Solo per Componenti di tipo 'Contenitore' setta il tipo di Arrangiamento dei sui oggetti figli in esso contenuti

Non ho idea se siano tutte, ma la maggior parte le ho gia usate :)

Per adesso mi fermo qui
Riprendo fiato e ci sentiamo questa sera... Ciau

md9327:
Intanto grazie per aver risposto all'appello...  :ok:

Hai iniziato benissimo... (ma lo sai che poi lo devi pure scrivere nel wiki?  ;D )

A stasera dunque...

Ceskho:

--- Citazione da: md9327 - 21 Settembre 2010, 15:51:09 ---Intanto grazie per aver risposto all'appello...  :ok:

Hai iniziato benissimo... (ma lo sai che poi lo devi pure scrivere nel wiki?  ;D )

A stasera dunque...

--- Termina citazione ---

http://www.gambas-it.org/wiki/index.php/Come_creare_un_componente

milio:
Caspita che velocità  :o

md9327:
Bè, sì... a volte si fà odiare, ma riesce sempre a stupisci con effetti speciali...  :P

Navigazione

[0] Indice dei post

[#] Pagina successiva

[*] Pagina precedente

Vai alla versione completa