Newsgroup: it.comp.lang.visual-basic
Titolo: [?] mdiform - porre a FALSE la showintaskbar

Salve,
mi scuso in anticipo se è una domanda trita e ritrita, ma in anni e anni non
me n'ero mai accorto.
In pratica ho un pgm la cui form principale è una MDI. Preferirei avesse
solo il link sulla tray bar (fatto e funzionante non è questa la domanda),
ma mi sono accorto che non c'è una ShowInTaskbar da porre a "false".
Qualche idea, link o articolo per ottenere che il link sulla taskbar
scompaia?
Grazie infinte.
Dads.

ciao dads
non mi sembra di avere mai incontrato un programma da traybar che fosse
mdi...
per non-nt, forse,
http://groups.google.com/groups?hl=it&lr=&ie=UTF-8&oe=UTF-8&th=3a5c74e3007fc
e16&rnum=18
e' saltato fuori chiedendo a google "remove item from taskbar" nei gruppi
*basic.
c'erano parecchi altri link, magari trovi qualcosa.
hth, ciao, a.
"Dads" <pra...@TTT.it> ha scritto


 c'erano parecchi altri link, magari trovi qualcosa.
Ho guardato (prima di iniviare il msg) e c'e' moltissima (troppa)
spazzatura.
Speravo in meglio ma credo che me ne dovrò leggere di + :)
Grazie lo stesso.
D.

Dovesse servire a qlk...
Questa funziona:
_____________snipplet  START_____________
Option Explicit
Private Declare Function GetWindowLong Lib "user32" _
  Alias "GetWindowLongA" (ByVal hwnd As Long, _
  ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" _
  Alias "SetWindowLongA" (ByVal hwnd As Long, _
  ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
'----------------------------
Private Const GWL_EXSTYLE = (-&H14)
Private Const WS_EX_TOOLWINDOW = &H80
Private Sub MDIForm_Initialize()
    Dim lWindowStyle As Long
    Dim lRetVal As Long
    lWindowStyle = GetWindowLong(hwnd, GWL_EXSTYLE)
    lWindowStyle = lWindowStyle And WS_EX_TOOLWINDOW
    lRetVal = SetWindowLong(hwnd, GWL_EXSTYLE, lWindowStyle)
End Sub
_____________snipplet  END_____________
Siccome quando si fa un minimize rimane "W3.1" style, è possibile usare
anche questo pezzetto:
_____________snipplet ADD-START_____________
Private Sub MDIForm_Resize()
    If Me.WindowState = vbMinimized Then
        Me.Hide
    End If
End Sub
_____________snipplet ADD-END_____________
Non è il massimo della vita, ma funge.
Grazie a tutti lo stesso.
D.

La cosa più divertente è che io scrivo e io mi rispondo.
La cosa più inquietante è che non c'era molto casino da fare o API da usare
o altre stronzate.
Funziona perfettamente anche questo:
1) apri un nuovi progetto
2) metti una form mdi
3) metti sulla mdi un timer "disabilitato" a 3 sec (3000) (serve per far
riapparire il form dopo un pò...)
4) scrivi questo:
_____________snipplet  START_____________
Private Sub MDIForm_Resize()
    If Me.WindowState = vbMinimized Then
        Timer1.Enabled = True
        Me.Hide
    End If
End Sub
Private Sub Timer1_Timer()
    Timer1.Enabled = False
    Me.WindowState = vbNormal
    Me.Show
End Sub
_____________snipplet  END_____________
:)
D.

 Funziona perfettamente anche questo:
provato, simpatico.
l'unico dubbio e' l'uso del timer, che rischia di essere un po' esoso.
visto che mi sembra di aver capito che hai un'icona in tray, non puoi fare a
meno del timer e chiamare un restore al clic sul tray ?
ciao, a.

 meno del timer e chiamare un restore al clic sul tray ?
certo che si, ma se postavo il codice con tutta la parte "tray" diventava
lungo.
Il timer è solo per assicurarsi che, se fai l'esperimento di provare il
codice e poi la form diventa invisibile, non ne perda il controllo...
ciao e grazie,
D.