| News | Mappa Sito | Community |
Condividi      
 
 
 
 
 Script
 
 
 Addon
 
 
 
 
 
 
 
 


:: Guide :: mIRC Dll ::
Guida MDX parte 2 °

Info Generali
Questa DLL, di cui illustrerò l'uso , è stata creata allo scopo di modificare i Dialogs cambiando il colore, il Font e lo stile dei vari elementi, inoltre essa, grazia ad alcuni plug-in dati in dotazione insieme ad essa ( Views.mdx , ctl_gen.mdx , bars.mdx ), è in grado di creare dei bellissimi effetti grafici con colori, sfondi ed icone.

 



Non esiste script che non abbia al suo interno l'uso di questa DLL, infatti grazie ad essa la grafica degli script è stata molto migliorata ed anche le funzioni facilitate.

Per poter apprendere meglio questa guida bisogna conoscere i comandi attribuiti ai dialog, e bisogna saper costruire questi.

COMANDI PRINCIPALI
1. Modifica del Colore
2. Modifica del Font
3. Modifica dei Bordi
4. List View
5. Tree View

Per poter lavorare con questa DLL occorre inserirla nella cratella di mIRC o in una sottocartella, dopodiché bisogna creare un alias per facilitarne l'uso:

alias mdx { dll $mircdir $+ dlls\mdx.dll $1- }

Con questo evitiamo di dover scrivere sempre il comando /dll ogni volta che dobbiamo usare l' mdx.

Uno dei comandi più utili è quello che permette di modificare il colore degli ID dei dialog.
Iniziamo con il creare il dialog:

dialog mdx {
title "Prova Cambio Colore"
size -1 -1 120 40
option dbu
edit "" 1, 2 2 115 12
edit "" 2, 2 15 115 12
}

Ora applichiamo le modifiche da fare con l'evento ON INIT:

on *:dialog:mdx:init:*: {
;i primi due comandi servono a inizializzare il dialog e richiamare l'uso della mdx
mdx SetMircVersion $version
mdx MarkDialog $dname
; ora settiamo il colore dell'editbox ( sfondo nero e testo bianco , retro del testo blu )
;testo bianco
mdx SetColor $dname 1 text $rgb(255,255,255)
;sfondo nero
mdx SetColor $dname 1 background $rgb(0,0,0)
;retro del testo blu
mdx SetColor $dname 1 textbg $rgb(0,0,255)
}

Ecco il risultato:



L'effetto si può applicare a tutti gli elementi dei dialogs: editbox, combo box, list, ecc. quindi in breve il comando usato è il seguente:

mdx SetColor nome_dialog ID parte_del_testo colore

parte_del_testo può essere:
text -> che modifica il colore del testo
textbg -> che modifica il retro del testo
background -> che modifica lo sfondo del testo

colore è il colore da attribuire ell'elemento, si usa il metodo rgb() , che indica il colore a seconda dei valori assunti dall'indicatore ( Rosso, Giallo, Blu ). Quindi $rgb(0,0,0) è nero, $rgb(255,255,255) è bianco, $rgb(255,0,0) è rosso e così via.



Si può inoltre modificare il font degli elementi con il comando

mdx SetFont nome_dialog ID [+flags] [grandezza] [spessore] [nome del carattere ]


[+flags] sono i tipi di testo che si vogliono far assumere:
+i -> Testo in Corsivo
+u -> Testo sottolineato
+s -> testo sbarrato

[grandezza] è la grandezza del carattere ad esempio 12
[spessore] indica se il carattere è normale o in grassetto, esso assume quindi i valori da 400 (normale) a 800 (grassetto)
[nome del carattere] è il nome del font, ad esempio Verdana

Ad esempio se vogliamo che il nostro testo sia un Verdana, grandezza 12, corsivo, grassetto e sottolineato, scriveremo:

mdx SetFont $dname 1 +iu 12 800 Verdana

Un altro effetto che si può produrre è la modifica dei bordi dei bottoni :

mdx SetBorderStyle nome_dialog ID [stile]

gli stili sono i seguenti:




Views
Altri effetti sono quelli attribuiti tramite i plug-in, ad esempio per le LIST, i Views.
Per abilitare questi effetti si usa il comando

mdx SetControlMDX nome_dialog ID [parametri] > $mircdir $+ dlls\views.mdx

I parametri sono diversi, ognuno abilita una particolare proprietà che renderà la grafica della list migliore

Tramite essi si possono costruire diversi tipi di funzioni, una delle quali è quella di costruire pannelli di controllo (ListView).
Iniziamo con la costruzione del dialog:

dialog mdx {
title "List view:"
size -1 -1 200 100
option dbu
list 1 , 2 2 196 100
}

on *:dialog:mdx:init:*: {
mdx SetMircVersion $version
mdx MarkDialog $dname
;attribuiamo i parametri alla lista
mdx SetControlMDX $dname 1 listview flatsb icon single hottrack labeltip autoarrange > dlls\views.mdx
; settiamo l'icona
did -i $dname 1 1 seticon list 0 $mircexe
;scriviamo il testo con il numero dell'icona da attribuirgli( +b 1 )
did -a $dname 1 +b 1 bbb
;ripetiamo l'operazione con il percorso della seconda icona errato
did -i $dname 1 1 seticon list 0 icona.ico
did -a $dname 1 +b 2 aaa
}



Osserviamo un attimo il codice:

mdx SetControlMDX $dname 1 listview flatsb icon single hottrack labeltip autoarrange > dlls\views.mdx

come possiamo subito notare i parametri sono più di 1, ma il primo è sempre ListView ( se si vuole creare questo tipo di controllo), altri parametri sono opzionali:

autoarrange -> permette una disposizione automatica delle icone
editlabels -> fa si che cliccando sull'icona sia possibile modificarne il testo
icon -> fa apparire le icone
single -> permette che venga selezionata solo un'icona alla volta ( se non è specificato se ne possono selezionare più di una)
smallicon -> crea la list con icone piccole(16 x16), se non specificato il risultato è quello dell'immagine di sopra
hottrack -> fa si che se il mouse viene lasciato fermo su un'icona questa venga selezionata automaticamente
flatsb -> abilita le scrollbar di tipo flat (sono più carine di quelle normali)
labeltip -> fa comparire il testo sotto le icone

stabiliti i parametri si procede inserendo le icone e il testo da visualizzare sotto di esse, per fare ciò si usa il comando /did ( se sapete già costruire dialogs, lo conoscete!):

did -i $dname 1 1 seticon list 0 $mircexe


il comando deve essere inviato alla linea 1 della lista: questa linea è una speciale linea di controllo che permette di attivare delle opzioni, ma che non può essere usata dall'utente, infatti nell'evento on *:dialog:nome_dialog:sclick:ID l'identificatore $did(1).sel (restituisce il numero della linea selezionata in una list) restituirà 2 se è selezionata la prima icona, 3 se invece è selezionata la seconda, e così via.

la sintassi usata per settare un'opzione è la seguente:

did -i nome_dialog ID 1 [opzione] [settaggio]

le operazioni sono diverse, ma le più importanti sono:

seticon list [numero] [filename] -> setta l'icona da visualizzare, il numero è lo stesso che viene poi richiamato nell'attribuire un testo all'icona ( viene spiegato in seguito ) , se esso è 0 l'icona verrà posta alla fine, dopo l'icona settata in precedenza. Il filename è il percorso dell'icona, se è sbagliato apparirà l'icona di errore, come sopra.

setbkg [attributi] -> setta il colore dello sfondo o l'immagine di sfondo del pannello, gli attributi sono
bkg [tile|normal] -> setta l' immagine di sfondo color $rgb() -> setta il colore di sfondo del pannello

settxt [attributi] $rgb() ->setta il colore del testo ( se viene usato un ListView infatti il comando mdx SetColor non funziona )
gli attributi sono text (=colore testo) e bgcolor (= retro del testo)

Ora aggiungiamo il testo

did -a $dname 1 +b 1 testo

esso segue la sintassi:

did -a nome_dialog ID [+flags] [numero_icona] [numero_overlay_icon] testo

le flags sono le seguenti:
+c -> l'icona apparirà opaca
+s -> l'icona è selezionata
+b -> il testo è in grassetto
[numero_icona] è il numore dell'icona da visualizzare
[numero_overlay_icon] è il numero dell'icona da visualizzare quando si seleziona un'icona della lista


Un'altro effetto particolare è la creazione di una tabella ;
il dialog è lo stesso di prima, cambiano i parametri della listview:

on *:dialog:mdx:init:*: {
mdx SetMircVersion $version
mdx MarkDialog $dname
;attribuiamo i parametri alla lista
mdx SetControlMDX $dname 1 listview grid report rowselect showsel single headerdrag flatsb > dlls\views.mdx
;settiamo le dimensioni delle colonne
did -i $dname 1 1 headerdims 120:1 120:2 150:3
; titolo colonne
did -i $dname 1 1 headertext + 0 1° header $+ $chr(9) $+ 0 2° header $+ $chr(9) $+ 3° header
;icona e testo
did -i $dname 1 1 seticon list 0 $mircexe
did -ia $dname 1 0 1 testo 1 $+ $chr(9) $+ 0 testo 2 ( senza icona ) $+ $chr(9) $+ 1 testo 3
}



Notiamo subito che abbiamo usato parametri diversi nel comando SetControlMDX (ma il primo è sempre ListView), i più importanti sono:
report -> fa apparire questo tipo di listview
grid -> fa comparire la griglia
rowselect -> permette che con un click su un testo venga selezionata l'intera riga
headerdrag -> permette lo spostamento delle colonne se trascinate con il mouse.

Come prima si settano dell opzioni con /did seguendo la sintassi:

did -i nome_dialog ID 1 [opzione] [settaggio]

Le opzioni sono le stesse del "pannello di controllo", ma ce ne sono alcune specifiche per questo tipo di list:

headerdims [larghezza:numero] [larghezza:numero] ... -> setta l'ampiezza delle colonne, il numero è quello secondo il cui ordine verranno disposte le colonne.

headertext + [numero icona] [testo] $+ $chr(9) $+ [numero icona] [testo2] ... -> questo comando setta i titoli delle colonne, quando scriviamo $+ $chr(9) $+ vuol dire che cambiamo colonna e settiamo il titolo della colonna successiva.

il testo delle righe viene scritto con la stessa sintassi:

did -ia nome_dialog 1 0 [numero icona ] testo 1 $+ $chr(9) $+ [numero icona ] testo 2 ...

facile da capire!


Tree View ( Lista ad Albero )

Tramite i views.mdx si può creare anche la cosiddetta lista ad albero, applicata sempre a una LIST:

on *:dialog:mdx:init:*: {
mdx SetMircVersion $version
mdx MarkDialog $dname
;attribuiamo i parametri alla lista ( Treeview è il primo )
mdx SetControlMDX $dname 1 treeview haslines hasbuttons linesatroot filedragsource mdxdragsource itemdroptarget insertdroptarget > dlls\views.mdx
;settiamo la grandezza delle icone
did -i $dname 1 1 iconsize normal small
;settiamo le icone e inseriamo il testo
did -i $dname 1 1 seticon normal 0 $mircexe
did -i $dname 1 1 seticon normal 0 icona.ico
did -a $dname 1 + 1 1 Cartella 1
;apriamo la sottocartella e scriviamo
did -i $dname 1 1 cb 2
did -a $dname 1 + 3 3 Voce $+ $chr(9) $+ testo di aiuto
did -a $dname 1 + 2 2 Voce 2 $+ $chr(9) $+ testo di aiuto
;torniamo alla cartella principale
did -i $dname 1 1 cb root
did -a $dname 1 + 1 1 Cartella 2
}



Come notiamo il primo parametro è TreeView, tra i vari parametri i più importanti sono:
haslines -> visualizza le linee tratteggiate
hasbuttons -> visualizza il + o il - vicino le cartelle
linesatroot -> visualizza le linea tratteggiata a lato delle icone ( funziona solo se è specificato haslines)
editlabels -> le scritte sono modificabili
showsel -> lascia il testo selezionato anche se il dialog non è la finestra attiva
checkboxes -> fa apparire dei checkbox a lato dei testi
hottrack -> ( l' abbiamo gia visto )

le opzioni vengono settate seguendo la sintassi:

did -i nome_dialog ID 1 [opzione] [settaggio]

le opzioni sono le seguenti:

cb [numero cartella] [numero cartella] ... -> con questo comando è possibile spostarsi all'interno delle cartelle della listview per poter operare al loro interno, i numeri delle cartelle partono da 2.
Si può scrivere al posto del numero il nome della cartelle, ovvero:
root = cartella principale
up = cartella superiore a quella attiva

branch [azione] [numero] -> serve ad aprire o a chiudere le varie sottocartelle
le azioni sono diverse:
expand -> apre la cartella
expandall -> apre tutte le cartelle
collapse -> chiude la cartella
collapseall -> chiude tutte le cartelle
toggle -> apre la cartella se questa è chiusa e viceversa

iconsize [list] [size] -> setta la grandezza delle icone. Il settaggio per le icone 16x16 (come quelle nell'immagine) sarà quindi
/did -i $dname 1 1 iconsize normal small

seticon list [numero] [filename] -> setta le icone da visualizzare davanti al testo ( vedremo in seguito come settare il testo ) , il numero dell'icona è quello con la quale essa si identifica, ovvero nello scrivere il testo viene ad esso attribuita tramite questo numero l'icona scelta, se il numero è 0 l'icona verrà posta in fondo alla lista ( se sono state settate 3 icone, questa prenderà il numero 4, e così via ).

setcolor [parametro] [colore] -> setta i colori della lista ad albero; a differenza dei ListView non si può settare un'immagine di sfondo.
i parametri sono:
text -> setta il colore del testo
bkg -> setta il colore dello sfondo
line -> setta il colore delle linee ( haslines )
Il colore, come al solito, segue il modello $rgb() .

Una volta settate le opzioni si può aggiungere il testo, che segue la seguente sintassi:

did -a [+flags] [numero icona] [numero overlay] testo $+ $chr(9) $+ testo di aiuto

le flags più importanti sono:
+b -> il testo è in grassetto
+s -> il testo è selezionato
+e -> la cartella viene aperta ( vedi branch expand )

il numero icona è come abbiamo detto il numero che si riferisce all'icona da visualizzare, mentre il numero overlay è quello che viene visualizzato quando si clicca sul testo; se non lo si vuole settare si ripete due volte lo stesso numero ( come nell'esempio di sopra ).

Una volta scritto il testo, se si vuole, si può aggiungere il testo di aiuto ( vedi immagine sopra ) aggiungendo al comando $$+ $chr(9) $+ testo di aiuto dopo il testo.


Con questo concludo la mia guida sulla dll MDX, anche se ho tralasciato alcuni argomenti, meno importanti per chi è alle prime armi, ma molto belli, in futuro quindi approfondirò la conoscenza delle Bars e dei Ctl_gen.

Autore: De|vision
(© www.mircmania.it)

    | Torna all'indice della Guida |

SFONDI DESKTOP
MONDIALI CALCIO - NAZIONALE ITALIANA
Ultimo sfondo inserito sul sito.
Visualizza tutti

 

TOP FLASH GAME
GIOCO MONDIAILI DI CALCIO

Mondiali di Calcio è il gioco del momento offerto gratuitamente da mIRC Mania.
Play Mondiali Calcio

 

SCRIPT CONSIGLIATI
- Venom Script Lite
- Promirc 1.2.6
- Project Dream
- Sagittario Script
- Majin Script 3
- Vision
Accedi Download

 

SCRIPT UFFICIALE
.:|SkyLab Script|:. è lo script ufficiale di mIRC Mania. All'interno sono presenti tutte le funzioni necessarie per passare piacevoli ore in CHAT in sicurezza e divertendosi.
Download Script

 

SONDAGGIO
Da quanto usi mIRC?

Pochi giorni
Qualche mese
Un anno
Da una vita

 

AMICI

 
  Vedi anche : SFONDI NAZIONALE ITALIANA - Giochi Calcio GRATIS - mIRC in Italiano
     

Sito realizzato e gestito da S. G. © mIRC Mania, 2001-10; Ogni riproduzione totale o parziale dei contenuti esclusivi di questo sito sarà punita a norma di legge. Il webmaster non si assume nessuna responsabilità riguardo a link o programmi presenti su mIRC Mania. Ogni marchio, logo o immagine presente sul sito è di proprietà dei rispettivi autori.
Privacy & Disclaimer