Mise en form d'un userform

aracnard Messages postés 9 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 3 mars 2010 - 13 févr. 2010 à 13:51
aracnard Messages postés 9 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 3 mars 2010 - 13 févr. 2010 à 15:39
AracnardAracnardBonjour,
Est il possible de changer la presentation d'un userform, c'est a dire de remplacer la croix de fermeture par un point rouge et la reduction par un point bleu ?

je souhaite le meme apparence que sur ce lien http://www.vbfrance.com/code.aspx?ID=34099

prog sous VBA (Visual Basic for Applications)
merci

8 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
13 févr. 2010 à 14:42
Bonjour,
Je crois t'avoir déjà répondu ! iici :
http://www.vbfrance.com/forum/sujet-DEPLACE-VB6-GT-VBA-MISE-FORME-USERFORM_1406029.aspx
=>> Non !
Tu peux toujours supprimer la barre de titre, par contre, et la remplacer par autre chose, mais tu ne peux modifier cette barre/système .
Relis ma réponse dabns tobn autre discussion.



____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
13 févr. 2010 à 14:59
Si tu veux faire disparaitre la barre de titre et de menu et que tu veux un bouton pour réduire ton userform, voilà un exemple vite fait (et à condition de mettre un caption dans ton userform):

Private Const SW_MINIMIZE = 6
Private Type POINTAPI
        x As Long
        y As Long
End Type
Private Type RECT
        Left As Long
        Top As Long
        Right As Long
        Bottom As Long
End Type
Private Type WINDOWPLACEMENT
        Length As Long
        flags As Long
        showCmd As Long
        ptMinPosition As POINTAPI
        ptMaxPosition As POINTAPI
        rcNormalPosition As RECT
End Type
Private Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
Private Declare Function GetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
Private Declare Function SetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
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 DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Dim Rectan As RECT, totohwnd As Long


Private Sub userForm_initialize()
    Dim mWnd As Long, Style As Long
   mWnd = FindWindow(vbNullString, Me.Caption)
   Style = GetWindowLong(mWnd, -16) And Not &HC00000 And Not &H40000
   SetWindowLong mWnd, -16, Style
   DrawMenuBar mWnd
   
   
    Dim WinEst As WINDOWPLACEMENT
    Dim rtn As Long
    WinEst.Length = Len(WinEst)
    totohwnd = FindWindow(vbNullString, Me.Caption)
    rtn = GetWindowPlacement(totohwnd, WinEst)
    Rectan = WinEst.rcNormalPosition
End Sub

Private Sub CommandButton1_Click()
   Dim WinEst As WINDOWPLACEMENT
    Dim Punto As POINTAPI
    Dim rtn As Long
    Punto.x = 1000
    Punto.y = 0
    WinEst.Length = Len(WinEst)
    WinEst.showCmd = SW_MINIMIZE
    WinEst.ptMinPosition = Punto
    WinEst.ptMaxPosition = Punto
    WinEst.rcNormalPosition = Rectan
    rtn = SetWindowPlacement(totohwnd, WinEst)
End Sub

Tu as maintenant de quoi faire joujou, si tu comprends et y tiens (ajouter ta propre barre et tes propres boutons, comme tu l'entends). Mais tu vas être seul à ce jeu-là ... (pas l'intention d'aller plus loin et de tout te faire de ce truc parfaitement inutile)



____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
aracnard Messages postés 9 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 3 mars 2010
13 févr. 2010 à 15:05
le but de la presentation c qu'elle soit accessible pour un gamin, voila pour quoi je tien au code de couleur ça sera plus simpl pour elle que croix et barre.

merci pour le prog je le testerai lundi au taf


Aracnard
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
13 févr. 2010 à 15:10
1) Amuse-toi alors bien avec le code (tu dois normalement t'en sortir si tu as tout compris) de "restauration" aux bonnes dimensions et emplacement quand tu cliques sur le Userform réduit.
2) un gamin aura moins de difficultés à capter le sens des boutons traditionnels qu'il n'en aura à piger tes couleurs ! (ils sont mille fois plus dégourdis que ce que tu penses ... même mon petit-fils qui n'a que 5 ans et demi !)


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
13 févr. 2010 à 15:13
A 5 ans et demi : un gamin est déjà trilingue : français - anglais - espagnol (et commence à se débrouiller dans un dialecte annexe : le catalan). Alors tu parles de la difficulté qu'il pourrait rencontrer à "assimiler" le sens d'une crois de fermeture et celui d'un bouton de réduction ! (tu plaisantes ?)


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
aracnard Messages postés 9 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 3 mars 2010
13 févr. 2010 à 15:23
elle deux fois mois que 5 ans et meme une mini souris c deja gros pour elle
lol


Aracnard
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
13 févr. 2010 à 15:30
salut,

l'utilité reste subjective...

par contre c'est tout à fait faisable !!!

le plus "simple" restant néanmoins en supprimer la barre et de s'amuser avec des IMAGES, mais on peut très bien tout gérer en VBA, le handle du userform étant accessible

voir les sources VB6 (à adapter), telles SKIN, PERSONNALISATION, BARRE DE TITRE, etc

[hr]
0
aracnard Messages postés 9 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 3 mars 2010
13 févr. 2010 à 15:39
ok et merci je crois que le temps que je fasse tout ca elle aura son propre PC lol , mais je v voir pour m'amuser avec ça



Aracnard
0