Calculatrice windows dans un formulaire?

cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013 - 31 mars 2008 à 15:40
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 - 5 avril 2008 à 15:08
Bonjour!

juste une petite question:

est-il possible d'afficher la calculatrice windows dans un userform, mais que celle-ci fasse partie intégrante de l'userform?

(j'ai trouvé un code qui permet d'ouvrir le fichier CALC.exe, mais pas de code pour intégrer cette dernière dans le formulaire)

Merci d'avance pour l'info!

11 réponses

dimitriusai Messages postés 76 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 7 mai 2009
31 mars 2008 à 15:48
Je pense que le mieux serait de le créer toi même !

Ceci pourrait p e te convenir.
http://www.vbfrance.com/code.aspx?ID=31038
0
cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013
31 mars 2008 à 15:52
bah, en vérité, je n'en ai pas vraiment besoin, c'était juste une question que je me posais!

Mais merci pour le lien, je le met de côté, ça peut toujours servir!
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
31 mars 2008 à 15:56
Bonjour,

Utillise alors la calculatrice Calc.exe, que tu peux appeler avec la fonction Shell !
0
cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013
31 mars 2008 à 16:01
salut jmfmarques,

oui, ça j'avais trouvé le code sur le forum...

mais la question que je me posais, c'était de savoir si on pouvait l'intégrer la calculatrice dans un userform.

merci!
0

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

Posez votre question
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
31 mars 2008 à 16:23
0
oommeeggaa3d Messages postés 97 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 3 septembre 2010
31 mars 2008 à 16:31
Dans le userform tu mets :
(j'ai mis calculator, mais le nom de la fenêtre de ta calculatrice peut être différent)

Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Dim a As Long

Private Sub UserForm_Activate()
Dim lhwnd As Long
lhwnd = FindWindow(vbNullString, Me.Caption)
a = FindWindow(vbNullString, "Calculator")
Call SetParent(a, lhwnd)
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Call SetParent(a, 0)
End Sub
0
cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013
1 avril 2008 à 10:14
salut oommeeggaa3d,

j'ai essayé ton code mais il ne se passe rien....

j'ai du rater un truc quelque part!
0
oommeeggaa3d Messages postés 97 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 3 septembre 2010
1 avril 2008 à 11:21
salut

as-tu ouvert une calculatrice windows auparavant ?
si son nom est calculator, ca marchera tel quel, sinon modifie  a = FindWindow(vbNullString, "Calculator") pour avoir le nom correct.

bon courage
0
cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013
1 avril 2008 à 11:53
ah ok!

j'avais pas compris qu'il fallait ouvrir la calculatrice avant!

maintenant ça fonctionne!   merci!

je vais continuer avec mes bêtes questions:

est-ce que tu sais "figer" ta calculatrice à un endroit précis dans ton userform?
0
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
5 avril 2008 à 12:41
Utilise l'API SetWindowPos.
La déclaration en C# est




[DllImport("user32")]
bool SetWindowPos(IntPtr hwnd, IntPtr hwndInsertAfter, int x, int y, int cx, int cy, uint flags);

Les paramètres :
hwnd -> Handle de la calculette
hwndInsertAfter -> Constante HWND_TOP (new IntPtr(0))
x, y, cx, cy -> Position et taille de la fenêtre
flags -> A mon avis 0, regarde sur la page que je t'ai mise en lien plus haut voir si des options t'intéressent...





Julien.
0
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
5 avril 2008 à 15:08
Oups que je suis bête on est sur VBFrance, en VB ça donne :


Public Declare Function SetWindowPos Lib "user32.dll" ( _

ByVal hWnd As IntPtr, _

ByVal hWndInsertAfter As IntPtr, _

ByVal X As Int32, _

ByVal Y As Int32, _

ByVal cx As Int32, _

ByVal cy As Int32, _

ByVal uFlags As Int32 _

) As Boolean

Julien.
0