| Autore: Ma[TtH]eW | Data: 2005-04-22 |
| Modificato:
2005-06-19 |
Letture: 2270 |
|
Introduzione
Tramite questa DLL, vedremo come sia possibile generale dei menù popup assegnando loro uno style. L'utilizzo di DLL non è di difficile comprensione, seguiteci e lo scoprirete da voi. Capitolo 1: Settaggio
Nel capitolo seguente, genereremo un menù in se stesso. In primo luogo, bisognerà assicurarsi: 1) Che Popups.dll risieda nella directory principale del mIRC (o in una cartella prestabilita). Supponiamo che le stesse siano locate in C:\mIRC\System\Dll\popups.dll. 2) Di disporre di icone indispensabili per la riuscita del procedimento. Per esempio che esse risiedano in C:\mIRC\icons (o in una cartella da voi prestabilita). Sicuri di disporre del "materiale" occorrente procediamo dunque alla realizzazione degli aliases. Eccone qui di seguito un paio messi a disposizione, da allocare nei "remote" del proprio script: ;richiamo della DLL. Più semplicemente: dll popups.dll comando1 comando2... alias popdll { dll system\dll\popups.dll $$1- }
;aggiunta di informazioni al popup in creazione alias additem_ { dll system\dll\popups.dll AddItem $1- }
;restituzione dell'origine delle icone ;comando: $ico(nome_del_file) NON INSERITE L’ESTENSIONE DELLE ICONE ;alias ico { return icons\ $+ $1- $+ .ico } ;aggiunta di un'icona alla lista interna delle immagini popup. Si consiglia l'utilizzo di comandi mdx. alias loadimg_ { dll system\dll\popups.dll LoadImg $1- }
;restituzione della directory in cui verranno salvati i file di testo alias txt { return $mircdir $+ \ $+ $1- $+ .txt }
;visualizzazione del menù popup alias pop1 tokenize 32 $dll(system\dll\popups.dll,Popup,$1-) | if ($isid) return $1- | $iif($4- != did not select a menu item,$4-)
Una volta generati gli alias passiamo al punto successivo.
Capitolo 2: Inizializzazione del menù popup
Generati gli alias la fase successiva sarà la creazione del menù popup in questione. Prima di tutto comunque, sarà necessario sviluppare "la base" del popup. Nell'esempio riportato in seguito verrà formulato un nuovo alias raggiungendo così una certa rapidità nell'esecuzione del comando quando richiamato:
alias esempiopop { ;creazione di un nuovo menù popup chiamato "esempio", avente icona di dimensioni pari a 16x16 pixels popdll Nuovo esempio 16 16 Tutto il popup generato usando Popups.dll potrà avere un proprio stile indistintamente. Gli stili disponibili offerti da Popups.dll sono: bordericon Bordi 3D nelle icone invece della solita evidenziatura. Usato da solo il menù generato assumerà un aspetto Microsoft. bordertext Bordatura del testo appartenente alla voce del menù. Unito a "bordericon", il menù assumerà aspetto XFree86. emboss Le icone, delle voci di menu, disabilitate verranno disegnate automaticamente con uno stile inciso.. reverse Evidenziando le voci del menù il loro aspetto verrà invertito. Per la dimostrazione seguente, useremo lo stile "bordericon": ;settaggio del popup secondo style bordericon popdll SetStyle esempio bordericon Una volta generato il menù procediamo col punto seguente.
Capitolo 3: Caricamento ed aggiunta di informazioni
Una volta generato il menù, con stile bordericon [nell'esempio precedente], bisognerà aggiungerne le informazioni relative. In primo luogo, verranno caricate le icone al popup. Anche in questo caso bisognerà assicurarsi che tutte le icone desiderate risiedano nella directory stabilita con $ico, nel caso contrario il comando non funzionerà.
;caricamento dell'icona "query.ico" loadimg_ esempio icon small $ico(query)
;caricamento dell'icona "server.ico" loadimg_ esempio icon small $ico(server)
Ora disponiamo delle 2 icone "basic.ico" e "server.ico" . Per la dimostrazione seguente, si procederà alla creazione di un server menù, facendo si che ciccando sopra al server stabilito esso si carichi automaticamente. Procediamo:
;aggiunta dell'icona "query.ico" al menù popup additem_ esempio end 1 1 Quick Servers
Spieghiamone il procedimento: additem_ esempio: Aggiunge una voce al menù esempio end: Aggiunge l’indicazione alla fine della lista Formato: [+flags] [unsel#] [sel#] [trans] [testo]{cr}[info] > L'articolo ha un submenu. [ Info ] dovrebbe essere il nome del submenu. c L'articolo inizia una nuova colonna del menu, senza il separatore verticale C L'articolo inizia una nuova colonna del menu, con separatore verticale d L'articolo viene disabilitato D L'articolo è la selezione di default (di conseguenza, il testo è restituito GRASSETTO) x L'articolo è controllato h L'articolo è evidenziato (questo non è regolato generalmente) r L'articolo è un articolo radiofonico (il segno convenzionale di difetto è visualizzato come un puntino anziché un controllo) b L'articolo non ha testo, ma preferibilmente ha un indirizzamento a bit [ testo ] è il nome di schedario di quell'indirizzamento a bit. 3 Se la flag "b" è specificata, questi colori verranno associati ai colori del sistema 3D: R G B 128 128 128 colore dell'ombra 3D 192 192 192 colore della faccia 3D 223 223 223 colore chiaro 3D
Ora, come metodo d'immagazzinamento dei comandi popup su ordinazione, verrà usato quello della memorizzazione degli stessi in file txt. Procedimento per caricare i comandi da file .txt..
;aggiunta dell'icona "server.ico" al menù popup con relativa lettura dei server dal file popservers.txt var %l = 1 while (%l <= $lines($txt(popservers))) { AddItem_ esempio end + 2 2 $gettok($read($txt(popservers),%l),1,%l) $cr $gettok($txt(popservers),3-,%l) inc %l }
Arrivati a questo punto sono state aggiunte tutte le informazioni al popup, con icona "di server.ico" a lato di ogni nome del server. Per aggiungere un altro server basterà semplicemente aprire il file "popservers.txt" e memorizzare nuove voci. Oppure usare la disposizione: Network_Name $cr server server_indirizzo Esempio: DALnet $cr server misc-e.dal.net
Capitolo 4: Alcune più cose e conclusione
Bene, una volta caricate le informazioni ed aggiunte poi le stesse al menù popup generato, procediamo alla lettura delle coordinate $$mouse.dx e $$mouse.dy.
;visualizzazione del menù popup pop1 esempio $mouse.dx $mouse.dy }
Risultato finale:
La maggior parte degli scripters conosciuti generano popup usando le dll inserendone spesso i collegamenti nella Toolbar. Per far ciò, basterà eseguire il comando:
on *:dialog:dialog_name:dclick:id { if ($did($dname,id).sel == id) { popexample } }
In conclusione, come visto Popups.dll non è una DLL difficile da imparare. Molta gente richiede aiuti e delucidazioni in merito, ecco spiegato il perché della creazione di questo tutorial.
|