Newsgroup: it.comp.lang.visual-basic
Titolo: Pannelli e menù di opzioni

Salve a tutti,
Devo creare una classica pagina di opzioni per un programma...
non vorrei usare le tabcontrol in quanto non mi ispirano...
Piuttosto avevo pensato a usare un controllo tipo l' explorerbar...
Il problema č: come faccio appunto a far selezionare le pagine?
Avevo pensato a una soluzione orrenda:
Creo tanti panel quante sono le pagine, poi faccio un metodo che nasconde 
tutti i panel, e quindi visualizzo solo quello che voglio visualizzare...
Mi sembra bruttissimo e dopotutto come faccio per passare da un panel all' 
altro in fase di progettazione se sono uno sopra all' altro?
Come potrei fare per fare qualcosa di migliore?
Bye,
-- 
Carmine ( 
pikachu...@gmail.com
 (Togli la scritta NOSPAM) )
Webmaster di The Total Site 4 : 
http://www.thetotalsite.it
MariokartDS Codice Amico: 532639027909 - CarmineC in MarioKartDS
"Un problema non č un problema se puň essere risolto" 

"Carmine [
www.thetotalsite.it
]"
mi aggancio con un OT qui .. non so se sei ancora interessato
visto che non ne posti piu ..comunque :
http://www.filegone.com/2rfl
http://en.wikipedia.org/wiki/Idea_encryption
--
Fosco

"Fosco"

PS:
il file encrypt e' buono .. il text encrypt .. si puo' far meglio
--
Fosco

 altro in fase di progettazione se sono uno sopra all' altro?
A mio avviso, ti stai costruendo un tabcontrol "in casa" :-)
Comunque, se proprio vuoi seguire questa strada, puoi fare in modo che i
pannelli, in design time non siano esattamente sovrapposti, in modo da
poterli selezionare con il mouse, quando devi lavorare su uno lo porti in
primo piano, e al runtime esegui il "riallineamento" degli stessi. Il
tutto mi pare inutilmente brigoso.
-- 
Salutoni
Sergio
La vita è un lungo apprendistato per imparare ad essere giovani
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 degli stessi. Il tutto mi pare inutilmente brigoso.
Già... è bruttino a vedersi.
Quindi dovrei mettere i panel "normali" e poi a runtime setto il dock a 
fill?
Bye,
-- 
Carmine ( 
pikachu...@gmail.com
 (Togli la scritta NOSPAM) )
Webmaster di The Total Site 4 : 
http://www.thetotalsite.it
MariokartDS Codice Amico: 532639027909 - CarmineC in MarioKartDS
"Un problema non è un problema se può essere risolto" 

 
http://www.filegone.com/2rfl
Bellino!
In che linguaggio lo hai fatto?
Ah... senti... che usi per leggere/scrivere file INI?
Bye,
-- 
Carmine ( 
pikachu...@gmail.com
 (Togli la scritta NOSPAM) )
Webmaster di The Total Site 4 : 
http://www.thetotalsite.it
MariokartDS Codice Amico: 532639027909 - CarmineC in MarioKartDS


 fill?
Non so se il fill è modificabile a runtime...


 non vorrei usare le tabcontrol in quanto non mi ispirano...
Perché non provi una cosa sporca? Usi un Tabcontrol normale e piazzi un 
pannello sulle linguette per coprirle.
Purtroppo credo che in 
VB.NET
 non è possibile nascondere le linguette. 
In Delphi c'è una proprietà apposita...
-- 
Saluti
VITRIOL

 Purtroppo credo che in 
VB.NET
 non č possibile nascondere le linguette.
Dovrei fare un override del metodo OnPaint credo, ma č proprio brutto...


 Argh o_O
Come sei schizzinoso... :-P
-- 
Saluti
VITRIOL

 Piuttosto avevo pensato a usare un controllo tipo l' explorerbar...
Cos'è l'explorerbar?
Ma le pagine sono visualizzate da codice o l'utente può scegliere quella che 
vuole?
Ciao 

 quella che vuole?
L' utente clicca su un elemento dell' explorer bar e viene visualizzata l' 
apposita pagina.
Bye,
-- 
Carmine ( 
pikachu...@gmail.com
 (Togli la scritta NOSPAM) )
Webmaster di The Total Site 4 : 
http://www.thetotalsite.it
MariokartDS Codice Amico: 532639027909 - CarmineC in MarioKartDS


 apposita pagina.
E allora perchč non cerchi una e usi quella?
Ciao 

 E allora perchč non cerchi una e usi quella?
?
Bye,
-- 
Carmine ( 
pikachu...@gmail.com
 (Togli la scritta NOSPAM) )
Webmaster di The Total Site 4 : 
http://www.thetotalsite.it
MariokartDS Codice Amico: 532639027909 - CarmineC in MarioKartDS


 tutti i panel, e quindi visualizzo solo quello che voglio visualizzare...
Ecco, la tua "soluzione orrenda" e' quella standard nella gestione fatta dai 
vari tab control.
Ora:
1) Crei tot frame e li scambi, come hai scritto tu (usando visible, oppure 
left=-75000 come fanno gli OCX Microsoft). Leggere per quanto riguarda la 
memoria, un po' una rottura a design time (ma nulla di che)
2) Metti tutti i controlli su un frame solo e ti crei una lista di quali 
visualizzare per ogni pagina. Ancora piu' leggero, ma a design time e' un 
rigurgito doppio carpiato.
3) Usi un normalissimo Tab e sovrapponi quello che ti pare ai pulsanti. 
Pesantuccio, ma decisamente comodo in design.
Note: io ho usato con ottimi risultati sia la 1 che la 3. La 3, specialmente 
se hai molti Tab sulla form, e' veramente pesante; il controllo TabControl, 
per quel poco che fa, mangia parecchie risorse.

 controllo TabControl, per quel poco che fa, mangia parecchie risorse.
Mah... a questo punto mi faccio coraggio e uso la 1...
Bye,
-- 
Carmine ( 
pikachu...@gmail.com
 (Togli la scritta NOSPAM) )
Webmaster di The Total Site 4 : 
http://www.thetotalsite.it
MariokartDS Codice Amico: 532639027909 - CarmineC in MarioKartDS


 Ah... senti... che usi per leggere/scrivere file INI?
autoit3  >>>>> C:\Programmi\Autoit3\AutoIt3.chm
IniRead
Reads a value from a standard format .ini file.
IniRead ( "filename", "section", "key", "default" )
IniWrite
--------------------------------------------------------------------------------
Writes a value to a standard format .ini file.
IniWrite ( "filename", "section", "key", "value" )
--
Fosco

 ti do la password
azzz non me la ricordo piu neppure io ... comunque te lo mando
gia decompilato a questo tuo indirizzo gmail che sembra valido
--
Fosco

 Ah... senti... che usi per leggere/scrivere file INI?
ecco un esempio fatto al volo se scarichi l'autoit3 lo puoi
testare e vedere quanto semplice e' :
IniWrite("settings.ini", "v00XY01", "key", "01 3C42D4C8C0A11B9C 28/04/2004")
IniWrite("settings.ini", "v00XY01", "key2", "02 4642E2963B949864 28/04/2004")
IniWrite("settings.ini", "CIPPO", "key", "LIPPO")
IniWrite("settings.ini", "PAPERINO", "key", "MINNIE")
IniWrite("settings.ini", "PAPERINO", "Parents", "QUI-QUO-QUA'")
$var = IniReadSection("settings.ini", "v00XY01")
If @error Then
    MsgBox(4096, "", "Mettimi nella cartella del settings.ini")
Else
   $varTEST = IniReadSection("settings.ini", "PAPERINO")
   MsgBox(262144, "", $varTEST[1][1])
    MsgBox(262144, "", $varTEST[2][1])
  $a1=$var[1][1] ; key 01
  ;MsgBox(0,"",$a1)
  $a2=$var[2][1] ; key 13
 ; MsgBox(0,"",$a2)
EndIf
$a1x = StringSplit($a1," ") ; split solo key 01
  ;MsgBox(0,"",$a1x[2])
 $a2x = StringSplit($a2," ") ; split solo key 13
 $aa = _HexToDec($a1x[2])
 ;MsgBox(0,"",$aa)
 $aa2 = _HexToDec($a2x[2])
Func _HexToDec($strHex)
 Local $strChar, $aryHex, $i, $iDec, $Char, $file, $iOne, $iTwo ,$len
 $aryHex = StringSplit($strHex, "") ; delimiter each caracter
;MsgBox(0,"",$aryHex[0]) ; 16 =lunghezza
;MsgBox(0,"",$aryHex[1]) ; each caracter
;MsgBox(0,"",$aryHex[2]) ; each caracter
 If Mod($aryHex[0], 2) <> 0 Then
  SetError(1)
  Return -1
 EndIf
 For $i = 1 To $aryHex[0]
  $iOne = $aryHex[$i]
  $i = $i + 1
  $iTwo = $aryHex[$i]
  $iDec = Dec($iOne & $iTwo)
  ;Msgbox(4096,"",$iDec) ;;;;;;;; BINGO
  If @error <> 0 Then
   SetError(1)
   Return -1
  EndIf
 $Char = $iDec
 $Charx = StringLen($Char)
  if $Charx = "2" then $Char = "0"& $Char
  $strChar = $strChar & $Char & " "
 ; Msgbox(4096,"",$Char)
 Next
 Return $strChar
EndFunc
 $file = FileOpen("log.log", 2)
If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
EndIf
FileWrite($file, "            00XY01  "&@CRLF&@CRLF)
FileWrite($file, $a1x[1] &"        ")
FileWrite($file, $a1x[2] & "        ")
FileWrite($file,$a1x[3] &@CRLF&@CRLF)
FileWrite($file,$aa & @CRLF &@CRLF& @CRLF )
FileWrite($file, $a2x[1] &"        ")
FileWrite($file, $a2x[2] & "        ")
FileWrite($file,$a2x[3] &@CRLF&@CRLF)
FileWrite($file,$aa2)
FileClose($file)
Run("c:\windows\notepad.exe log.log")
--
Fosco