Newsgroup: it.comp.lang.visual-basic
Titolo: [?][FORM RESIZE] Restrizioni sul resize di un form...

In una mia maschera ho la necessità di impedirne il resize sotto certe
dimensioni e contemporaneamente modificare le dimensioni del controllo in
essa contenuto.
Avevo provato SubClassando il form (l'esempio lo avevo trovato sul
SitoComune), ma mi dava parecchi problemi... Allora ho fatto così, visto che
nel form ho un unico controllo:
nell'evento Form_Resize controllo che il .Width ed il .Height non siano
inferiori ad un certo valore (5000 nel mio caso). Se sono inferiori le setto
al mio valore (sempre 5000)..
WidthDifference ed HeightDifference sono le variabili che contengono le
dimensioni del bordino da lasciare tra il bordo del form e del controllo
presente nella griglia (una TrueDBGrid - tanto x cambiare :) .
Private Sub Form_Resize()
    ' Resizer (non standard ;-)
    ' Avevo provato SubClassando il form, ma questo richiedeva
    ' troppe risorse, ed il form stesso aveva alcuni problemi...
    If Me.Width < 5000 Then
        Me.Width = 5000
        TDBRicerca.Width = Me.Width - WidthDifference
        TDBRicerca.Height = Me.Height - HeightDifference
        Exit Sub
    End If
    If Me.Height < 5000 Then
        Me.Height = 5000
        TDBRicerca.Width = Me.Width - WidthDifference
        TDBRicerca.Height = Me.Height - HeightDifference
        Exit Sub
    End If
    TDBRicerca.Width = Me.Width - WidthDifference
    TDBRicerca.Height = Me.Height - HeightDifference
    DoEvents
End Sub
L'effetto in output è impeccabile. Il form si ridimensiona senza troppi
problemi, tranne quando si va sotto i 5000... Le dimesioni restano 5000, non
mi da problemi, ma l'effetto a video è abbastanza sgradevole (il form
sfarfalla). Avete qualche altro metodo da applicare? Avete qualche critica
(costruttiva :) da fare al mio?
Grazie 1000!
SebaMix

...


 Prova cosě:


sfarfallio resta però... :(
Non e' il massimo della praticita', ma io ho permesso all'utente di
"sbagliare" dimensione e ho controllato la dimensione del form
nell'evento form_mouseup.
Sembra funzionare.
Saluti.
-- 
      Gianni "bugbarbeq" Rondinini, 25, RA, 242, 152
  VBR - Vero Birro Romagnolo®, diffidate dalle imitazioni!
 Opel/ECC Calibrezio EVO-IV --- Kawasaki "Gas Gas" ZZ-R 1100
 ICQ# 36893168 - IRCNet: bugbarbeq, @ on #linux-it & #NetBSD

 ha scritto nel messaggio
news:b07m5tgcp14jhc4s5...@4ax.com...


Ho notato una cosa molto interessante... l'evento mouseup non viene generato
se si rilascia il mouse mentre si sta ridimensionando una finestra (cioč
quando appaiono le freccettine <--> ).
Io uso VB6pro SP4 con Win2Kpro...
CiaoZ



Ah, strano.
A dire la verita' ho un po' rubato: io uso il mouse up per lo
spostamento del form --voglio farlo "incollare" ad un angolo dello
schermo, tipo WinAmp-- e pensavo che si potesse fare lo stesso anche
col resize...
Allora ho quasi finito le idee... Io direi che il trucco sta:
- nell'intercettare il messaggio resize *prima* che il form sia
ridisegnato; oppure
- lasciar creare una dimensione inaccettabile e *dopo* ripristinare
qeulla giusta.
Pero' a questo punto non saprei come fare nessuna delle 2 cose...
Saluti.
-- 
      Gianni "bugbarbeq" Rondinini, 25, RA, 242, 152
  VBR - Vero Birro RomagnoloŽ, diffidate dalle imitazioni!


Pero' a questo punto non saprei come fare nessuna delle 2 cose...
Se non erro, Sito Comune: DimForm.zip
Ciao,
Moreno
#sirri#@#morenosoft#.com
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.morenosoft.com/MSVBSite/
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
---------------------------------------------------------------------------

 Moreno
 Se erri tu sul sito comune dove andremo a finire??
Ciao VB

 ha scritto nel
messaggio news:93f9ov$1u6o$1...@stargate1.inet.it...


RiPostarlo? Grazie!
Forse era questo?
*****
Non e' il massimo della praticita', ma io ho permesso all'utente di
"sbagliare" dimensione e ho controllato la dimensione del form
nell'evento form_mouseup.
Sembra funzionare.
*****
Pero' a questo hai gia' risposto 2 volte, quindi penso fosse un
altro... Boh, magari fammi sapere.
Saluti
