ruggy94 (Member)
Guru
Messaggi: 890
Iscritto: 21/04/2008
|
Ho riscritto interamente il programma (ovviamente con delle modifiche) utilizzando la OOP.
Adesso è sufficiente scrivere in un file un testo come questo:
Codice sorgente - presumibilmente Plain Text |
Buttons=Ciao*http:\\solopc.forumcommunity.net*;Hello*http:\\www.pierotofy.it*
BackColor=Gray
TitleText=Wow
Opacity=1
|
Per ottenere una barra con colore di sfondo grigio, opacità 100% (non trasparente), titolo "Wow", e due bottoni all'interno con scritto "Ciao" e "Hello", che una volta cliccati rimandano alla pagina web scelta. E' ovviamente possibile inserire anche un percorso dell'Hard Disk. Si possono specificare delle immagini di sfondo dei bottoni, ma in questo codice non ne ho messe. Non c'è più il problema delle dimensioni della barra, infatti si ridimensiona automaticamente ogni volta che viene aggiunto un bottone.
Non ho ancora postato il codice, ma appena avrò fatto qualche altra modifica, lo farò.
Mi è venuta in mente anche un'idea per migliorare la grafica della barra (che essendo uno squallido form, è rettangolare e antiestetica). Basterebbe disegnare con qualche programma di grafica una bella barra e inserirla come immagine nel form. Poi sarebbe sufficiente rendere trasparente il resto del form, in modo che rimanga visibile solo l'immagine della barra, con i relativi pulsanti sopra.
|
|
antometal (Member)
Guru
Messaggi: 691
Iscritto: 12/09/2007
|
per diegnare la barra ci posso pensare io
xò dovrebbe almeno avere gli angoli smussati, quindi ci vogliono tre immagini(lato sinistro, centrale, lato destro) se vogliamo mantenere la proporzione con qualsiesi risoluzione
riguardo alle immagini sui tasti avevo gia pensato a come fare
Codice sorgente - presumibilmente VB.NET |
Private Function img_from_path(ByVal path As String) As Image Dim icn As Icon Dim img As Image 'se path non termina con .exe, ritorna immagine nulla If (Not path.Trim.EndsWith(".exe")) Then Return img icn = Icon.ExtractAssociatedIcon(path) img = icn.ToBitmap Return img End Function
|
xò ho notato che funziona solo col percorso assulutp
appena è pronto caricalo
|
|
ruggy94 (Member)
Guru
Messaggi: 890
Iscritto: 21/04/2008
|
Non è consigliabile usare semplicemente String.EndsWith, poichè non è case-sensitive, e quindi un file con estensione .EXE non verrebbe riconosciuto. In questo caso puoi adottare un piccolo stratagemma, ovvero controllare se l'estensione è .exe dopo avere reso minuscolo tutto il percorso.
If Not path.trim.tolower.endswith(".exe")... |
Inizialmente io avevo pensato di fare scegliere all'utente l'immagine sul bottone, senza pensare a ricavarla direttamente dall'exe. Ora con la modifica che farò sarà possibile prendere l'immagine dall'exe, selezionarne una propria, oppure lasciare il bottone senza immagine. Inoltre pensavo di aggiungere la possibilità di far scegliere all'utente la dimensione dei bottoni, che sarà uguale per tutti.
|
|
antometal (Member)
Guru
Messaggi: 691
Iscritto: 12/09/2007
|
Postato originariamente da ruggy94:
Inizialmente io avevo pensato di fare scegliere all'utente l'immagine sul bottone, senza pensare a ricavarla direttamente dall'exe. Ora con la modifica che farò sarà possibile prendere l'immagine dall'exe, selezionarne una propria, oppure lasciare il bottone senza immagine. |
è quel che avevo in mente
voglio infatti che sia il più possibile personalizzabile: se l' utente vuole i tasti della stessa dimensione, così sia, se no adattabili al testo
(questo meno essenziale)
l'utente deve inoltre poter cambiare gli atttributi font dei singoli buttone
un' altra cosa aal quale bisogna trovare rimedio, è l'apparizione della barra quando si vuole chiudere una finestra a schermo intero, è seccante quando accade, e poco pratico...
idee? |
|
ruggy94 (Member)
Guru
Messaggi: 890
Iscritto: 21/04/2008
|
Postato originariamente da antometal:
1.l'utente deve inoltre poter cambiare gli atttributi font dei singoli buttone
2.un' altra cosa aal quale bisogna trovare rimedio, è l'apparizione della barra quando si vuole chiudere una finestra a schermo intero, è seccante quando accade, e poco pratico...
idee? |
1.Questo è semplice
2.Intendi dire che la barra si trova davanti al pulsante di chiusura? Se è questo, basta dare la possibilità di trascinarla dove si vuole sullo schermo. Poi si potrebbe ridurre nella TrayBar con un apposito comando, in modo da non intasare lo schermo.
PS: Ho pubblicato il programma, leggi il file ReadMe.txt per capire come funzionano i file che il programma andrà a leggere. |
|
antometal (Member)
Guru
Messaggi: 691
Iscritto: 12/09/2007
|
come o gia sai, sono nuovo al .net
avrò bisogno di un po di chiarimenti
mi segno ciò che devo sapere e posto
ps. a riga 160...
Codice sorgente - presumibilmente Delphi |
If Not String.IsNullOrEmpty(M.Groups("ForeColor").Value) Then TempButton.ForeColor = Color.FromName(M.Groups("ForeColor").Value) Else TempButton.ForeColor = Color.Black End If
|
riducibile con
If Not String.IsNullOrEmpty(M.Groups("ForeColor").Value) Then TempButton.ForeColor = Color.FromName(M.Groups("ForeColor").Value) |
il forecolor di default è gia nero |
|
ruggy94 (Member)
Guru
Messaggi: 890
Iscritto: 21/04/2008
|
Postato originariamente da antometal:
il forecolor di default è gia nero |
Già, non ci avevo pensato
Comunque, certo che devi chiedere ciò che ti è poco chiaro. L'ho riscritto in questo modo proprio per darti la possibilità di "integrarti" meglio nel .NET |
|