Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    941

    [vb 6.0] Problemi di sfarfallio

    Ciao a tutti
    Sto modificando in parte un programma non fatto da me
    in Visual Basic ed ha un poblema di sfarfallio..
    quali ossono essere le cause !!!
    domando solo qualcosa di nuovo

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Magari se ci indichi il codice ...

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    941
    Lo sfarfalio capita quando !!!

    L' interfaccia del programma non puo essere minore di un width e di un height
    quindi con il mouse se vado al di sotto di queste misure mi da sfarlallio...
    domando solo qualcosa di nuovo

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da meronet
    Lo sfarfalio capita quando !!!

    L' interfaccia del programma non puo essere minore di un width e di un height
    quindi con il mouse se vado al di sotto di queste misure mi da sfarlallio...
    Ma che stai dicendo?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    941
    scusami per le imprecisioni

    La schermata del programma non puo divenire piu piccola di un width e di un height
    e se con il mouse trascino il bordo ad un ridimensionamento inferiore
    mi da questo sfarfalio....
    pensavo di bloccare il mouse verso quella direzione.....
    domando solo qualcosa di nuovo

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Mostra il codice ...

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    941
    Dim scala As Integer

    scala = Me.Width
    If Me.ScaleX(scala, 1, 3) < 800 And (Me.WindowState <> vbMinimized) Then
    Me.Width = Me.ScaleX(800, 3, 1)
    Me.Left = (ScaleX(getAreaSchermo, 3, 1) - Me.Width) / 2
    End If

    scala = Me.Height
    If Me.ScaleY(scala, 1, 3) < 300 And (Me.WindowState <> vbMinimized) Then
    Me.Height = Me.ScaleY(300, 3, 1)
    End If
    --------------------------------------------------------------------------------

    Public Function getAreaSchermo() As Long
    'routine per controllare le dimensioni dello schermo
    Dim tRect As RECT
    Dim retval As Long

    ' Retrieve the screen's working area size (i.e. the portion of
    ' the screen not obscured by he taskbar or other appbars).


    retval = SystemParametersInfo(SPI_GETWORKAREA, vbNull, tRect, 0)

    With tRect
    getAreaSchermo = .Right

    End With
    End Function
    domando solo qualcosa di nuovo

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma il primo codice dov'e' inserito?

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    941
    nell' evento resize del form
    domando solo qualcosa di nuovo

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    941
    sto provando questa soluzione ma non mi fa nesun effetto

    inserisco un modulo con qusto codice

    Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
    End Type

    Declare Function ClipCursor Lib "user32" (lpRect As Any) As Long

    Public Sub DisableTrap(CurForm As Form)
    Dim erg As Long
    Dim NewRect As RECT
    With NewRect
    .Left = 0&
    .Top = 0&
    .Right = Screen.Width / Screen.TwipsPerPixelX
    .Bottom = Screen.Height / Screen.TwipsPerPixelY
    End With
    erg& = ClipCursor(NewRect)
    End Sub


    Public Sub EnableTrap(CurForm As Form, LimAlt As Integer, LimLarg As Integer)
    Dim X As Long, Y As Long, erg As Long
    Dim NewRect As RECT

    X& = Screen.TwipsPerPixelX
    Y& = Screen.TwipsPerPixelY

    Alto = CurForm.Top + LimAlt
    sinistra = CurForm.Left + LimLarg
    Larghezza = Screen.Width - CurForm.Left + LimLarg
    Altezza = Screen.Height - CurForm.Top + LimAlt

    With NewRect
    .Left = sinistra / X&
    .Top = Alto / Y&
    .Right = Larghezza / X&
    .Bottom = Altezza / Y&
    End With
    erg& = ClipCursor(NewRect)
    End Sub




    e nel form_resize non so cosa scrivere

    ho provato cosi ....


    If Me.ScaleX(scala, 1, 3) < 800 And (Me.WindowState <> vbMinimized) Then
    EnableTrap Me, Me.Height + 10, Me.Width + 10
    ' Me.Width = Me.ScaleX(800, 3, 1)
    ' Me.Left = (ScaleX(getAreaSchermo, 3, 1) - Me.Width) / 2

    Else
    DisableTrap Me
    End If

    scala = Me.Height
    If Me.ScaleY(scala, 1, 3) < 300 And (Me.WindowState <> vbMinimized) Then
    EnableTrap Me, Me.Height + 10, Me.Width + 10
    ' Me.Height = Me.ScaleY(300, 3, 1)


    ' Else
    DisableTrap Me
    End If


    ma non mi da nessun effeto


    vorrei disabilitare il mouse per 3 secondi
    domando solo qualcosa di nuovo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.