Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Utility Bar - Novità

Utility Bar

Sommario | Admin | Forum | Bugs | Todo | Files

Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 1:14
Giovedì, 06/08/2009
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

  1. Buttons=Ciao*http:\\solopc.forumcommunity.net*;Hello*http:\\www.pierotofy.it*
  2. BackColor=Gray
  3. TitleText=Wow
  4. 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.

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 2:09
Giovedì, 06/08/2009
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

  1. Private Function img_from_path(ByVal path As String) As Image
  2.         Dim icn As Icon
  3.         Dim img As Image
  4.         'se path non termina con .exe, ritorna immagine nulla
  5.         If (Not path.Trim.EndsWith(".exe")) Then Return img
  6.         icn = Icon.ExtractAssociatedIcon(path)
  7.         img = icn.ToBitmap
  8.         Return img
  9.     End Function



xò ho notato che  funziona solo col percorso assulutp

appena è pronto caricalo

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 11:22
Giovedì, 06/08/2009
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.
Codice sorgente

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.

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 12:44
Giovedì, 06/08/2009
Testo quotato

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?

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 14:12
Giovedì, 06/08/2009
Testo quotato

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.

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 14:59
Giovedì, 06/08/2009
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

  1. If Not String.IsNullOrEmpty(M.Groups("ForeColor").Value) Then
  2.                 TempButton.ForeColor = Color.FromName(M.Groups("ForeColor").Value)
  3.             Else
  4.                 TempButton.ForeColor = Color.Black
  5.             End If



riducibile con
Codice sorgente

If Not String.IsNullOrEmpty(M.Groups("ForeColor").Value) Then TempButton.ForeColor = Color.FromName(M.Groups("ForeColor").Value)


il forecolor di default è gia nero

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 15:02
Giovedì, 06/08/2009
Testo quotato

Postato originariamente da antometal:
il forecolor di default è gia nero


Già, non ci avevo pensato :D

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 ;)

PM Quote