Fenêtre avec couleur transparente d'un bmp sous w98/95 (&+)

Soyez le premier à donner votre avis sur cette source.

Vue 4 374 fois - Téléchargée 712 fois

Description

C'est une petite astuce

On prend un usercontrol, on lui place une image dans picture, la même dans maskpicture
On lui met la couleur transparente dans maskcolor, puis backcolor=transparent
On le place sur une fenêtre
On lui met le code suivant dans le usercontrol

Source / Exemple :


private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
private Declare Sub ReleaseCapture Lib "user32" ()
private Const WM_NCLBUTTONDOWN = &HA1
private Const HTCAPTION = 2

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_HWNDPARENT = (-8)

Private Sub UserControl_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        Call ReleaseCapture
        lngReturnValue = SendMessage(hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
End Sub

Private Sub UserControl_Show()
If Ambient.UserMode Then
    SetParent hwnd, 0
    SetWindowLong hwnd, GWL_HWNDPARENT, UserControl.Parent.hwnd
End If
End Sub

Conclusion :


& Voila

Y'a un exemple dans le ZIP

a++

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
27
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
3 juin 2010

complexe?
j'attend les méthodes plus simple alors

mias sinon trop cool MaskPicture... c'est ça l'idée
Messages postés
35
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
6 mai 2005

un peu complexe mais c cool !
Messages postés
235
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
9 novembre 2007

ah c pas mal ça... meme si ya des methodes plus simples...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.