Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    106

    [VB6] Problemi con Visualizzazione Form

    Salve a tutti,

    Ho creato un programma in VB6, nel quale ho un form iniziale con un command button che mi apre un'altro form per la gestione delle stampe.

    Nel Form di gestione stampe, ho inserito un command button che mi fa partire la stampa e prima di far partire la stampa, richiamo un'altro Form di attesa stampa.

    Il mio problema è questo terzo Form, che non viene visualizzato anteposto agli altri Form, ma si apre e non si vede più, perchè ho scoperto che viene visualizzato come ultimo form dietro al primo Form.

    Infatti se chiudo il secondo e il primo form, allora vedo il form d'attesa, che invece dovrebbe essere sovrapposto al primo e al secondo form.

    Come posso risolvere il problema ?
    Qualcuno è così gentile da potermi aiutare ?
    Ringrazio in anticipo chiunque mi aiuti e saluto cordialmente tutti.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Qual e' il codice che usi per aprire il terzo form e per fare le operazioni di stampa?

    Ovvero, in che ordine stanno queste istruzioni ?

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    106
    al click del command button del secondo form, ho inserito le suguenti istruzioni :

    Form3.show

    poi, dopo l'apertura del form3 (che è la prima istruzione che io faccio), faccio un semplice ciclo For - Next, nel quale mi leggo i record di un file per scrivere un database e successivamente visualizzare la stampa.

    Ho visto con il Debug e praticamente, dopo l'istruzione Form3.show, il Form3 si apre e si mette subito dietro glia altri due form.

    Come risolvo il problema secondo te ?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Prima di scomodare le API per mettere il form sempre in primo piano, prova a scrivere

    Form3.ZOrder

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    106
    Proverò la tua soluzione e ti farò sapere. grazie !

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    106
    Ciao Oregon,

    Ti ringrazio per il suggerimento, ma non funziona, il Form non viene messo in primo piano.

    Hai una soluzione alternativa ?

    Aspetto tue notizie e ti saluto.

    software83.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Allora prova

    codice:
    Private Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As Long, _
        ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, _
        ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
    
    Private Const HWND_TOPMOST As Long = -1
    Private Const SWP_NOMOVE As Long = &H2
    Private Const SWP_NOSIZE  As Long = &H1
    codice:
    SetWindowPos Form3.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE

  8. #8
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Hai provato semplicemente con Form3.SetFocus.
    Naturalmente il comando deve essere inserito alla fine della routine, in modo che sia l'ultimo letto nella sequenza.
    LM

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da LMondi
    Hai provato semplicemente con Form3.SetFocus.
    Naturalmente il comando deve essere inserito alla fine della routine, in modo che sia l'ultimo letto nella sequenza.
    Ho l'impressione che il focus sia catturato da un altro controllo durante l'esecuzione del codice e che quindi sia necessario che il form sia sempre in primo piano ...

    Ma provare non costa nulla ...

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    106
    Ascoltate le ho provate tutte :

    Ho postato il codice che mi ha suggerito Oregon, ho fatto il setfocus sul form, ma niente, il form non mi viene messo in primo piano.

    Può centrare qualcosa il fatto che dopo aver richiamato il Form3, io vado ad aprire un database con ADO, poi lo scrivo e poi lo chiudo ?
    Tutto questo potrebbe comportare problemi con la visualizzazione del mio terzo Form?

    Datemi una soluzione per uscirne fuori vi prego.

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.