IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Image d'ouverture sans bordure et transparance


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 2
    Par défaut Image d'ouverture sans bordure et transparance
    Bonsoir à tous,
    Je suis nouveau et je débute en Visual Basic sous Excel. Je tâtonne on va dire.
    J'ai un projet pour ma licence ou je dois créer un programme en VB sous excel.
    J'aimerai quand mon programme se lance qu'une image apparaisse pendant quelque temps puis disparaisse un peut comme certain logiciel comme photoshop etc...
    J'arrive à faire cette manipulation mais j'ai deux problème:
    - J'aimerai que seul mon image apparaisse et pas les bordures de la fenêtre (le contour où il y a la croix etc)
    - deuxième point mon image n'est pas carré... et donc j'ai le fond de la fenêtre qui est visible. J'aimerai avoir une transparence autour de la forme de mon image. J'ai bien passer au gif mais sa marche pas...

    Avez vous une idée?

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonsoir,

    Un début de piste pour rendre la Form tranparente, je n'ai plus le temps maintenant pour voir comment ôter les bords et la barre de titre (pour ce que je viens de tester, la form entière disparaît sitôt qu'on touche à sa Transparence après avoir supprimer la barre de titre) mais teste déjà ça pour voir si ça convient et je regarderai encore demain soir. Mets un bouton sur la Form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    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 Declare Function SetLayeredWindowAttributes _
                    Lib "user32" _
                    (ByVal hWnd As Long, _
                    ByVal crKey As Long, _
                    ByVal bAlpha As Byte, _
                    ByVal dwFlags As Long) As Long
     
    Private Declare Function FindWindowA _
                    Lib "user32" _
                    (ByVal lpClassName As String, _
                    ByVal lpWindowName As String) As Long
     
    Private Sub Transparence(hWnd As Long, Alpha As Byte)
     
        Dim LeStyle As Long
     
        LeStyle = GetWindowLong(hWnd, -20)
     
         SetWindowLong hWnd, -20, LeStyle Or &H80000
         SetLayeredWindowAttributes hWnd, 0, Alpha, &H2
     
    End Sub
     
    Private Sub CommandButton1_Click()
     
        Transparence FindWindowA(vbNullString, Me.Caption), 150 '0 totalement translucide, 255 totalement opaque
     
    End Sub
    Hervé.

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 2
    Par défaut
    Merci de ta réponse rapide.
    J'ai déjà testé ce code...
    Sa rend ma userform transparence mais tout ce qui a dessus aussi donc mon image se retrouve transparente...
    J'ai cherché partout je pense qu'en VB sous excel c'est foutu

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonsoir,

    Mais alors, tu veux juste que la Form n'est plus de barre de titre et de boîte de contrôles ?

    Pose un contrôle Image sur ta Form et teste avec le code ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    Private Declare Function FindWindow _
                    Lib "user32" _
                    Alias "FindWindowA" ( _
                    ByVal lpClassName As String, _
                    ByVal lpWindowName As String) 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 Declare Function GetWindowLong _
                    Lib "user32" _
                    Alias "GetWindowLongA" ( _
                    ByVal hWnd As Long, _
                    ByVal nIndex As Long) As Long
     
    Private Declare Function DrawMenuBar _
                    Lib "user32" ( _
                    ByVal hWnd As Long) As Long
     
     
    Private Sub UserForm_Initialize()
     
        Dim hWnd As Long
     
        hWnd = FindWindow(vbNullString, Me.Caption)
        SetWindowLong hWnd, -16, GetWindowLong(hWnd, -16) And -12582912
        DrawMenuBar hWnd
     
        With Image1
            .Top = 0
            .Left = 0
            .Width = Me.Width
            .Height = Me.Height
        End With
     
    End Sub
     
    Private Sub UserForm_Click()
        Unload Me '<<<<< NE PAS OUBLIER LA FERMETURE, PLUS DE CROIX !!!
    End Sub
    'OU
    Private Sub Image1_Click()
        Unload Me '<<<<< NE PAS OUBLIER LA FERMETURE, PLUS DE CROIX !!!
    End Sub
    Hervé.

Discussions similaires

  1. [VxiR2] Image en Lien hypertexte sans bordure
    Par Poisson59 dans le forum Webi
    Réponses: 2
    Dernier message: 30/10/2009, 11h28
  2. Réponses: 2
    Dernier message: 28/02/2008, 15h14
  3. [FPDF] Cellule sans bordure en haut et en bas
    Par nebule dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 16/12/2004, 17h07
  4. [débutant]fenetre sans bordure
    Par crazypiou dans le forum DirectX
    Réponses: 2
    Dernier message: 01/05/2004, 19h43
  5. [Kylix] Fiches sans bordure
    Par alex dans le forum EDI
    Réponses: 4
    Dernier message: 28/04/2002, 22h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo