FORM POLYMORPHE ON SCREEN

cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005 - 1 juil. 2003 à 17:30
cs_andrebernard Messages postés 404 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 4 septembre 2013 - 7 avril 2008 à 14:35
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/7734-form-polymorphe-on-screen

cs_andrebernard Messages postés 404 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 4 septembre 2013 1
7 avril 2008 à 14:35
C'est de la balle ce code.
Simplicité, éfficacité exactement ce que j'aime.

Le probleme c'est qu'il est tellement efficace, qu'il arrive un truc de ouf !!!!
Avec VNC le logiciel de prise en main à distance, la fenetre est invisible.

On voit juste la souris du client se promener.
C'est magique, mais un peu embetant.

Quelqu'un a t'il une explication ou une astuce pour eviter ce remaque de "Hollow man"
MrdJack Messages postés 146 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 8 mars 2008 2
3 août 2005 à 12:51
Salut, comme j'avais rien d'autre a faire, j'ai apporté une ou deux ptites modifs a cette source pour répondre aux questions incessantes pour la barre des tache.... vous inquietez pas vous allez comprendre....
le probleme avec la barre des taches c'est que ya pas mal de gens qui la mette soit a gauche, en haut a droite de l'écran et ceux qui se prennent pas la tete la laisse en bas.....
mais c'est la modif permet de coller aux bords du bureau et non pas de l'écran.....

voici la modif : (porte sur la fonction FormStayOnScreen() )
il suffit d'insérer un composant appelé sysinfo sur la form et de modifier cette fonction :


Public Sub FormStayOnScreen(Button As Integer, X As Single, Y As Single, FormMake As Form)
If Button = 1 Then
Dim TempX As Long, TempY As Long
TempX = FormMake.Left - (MonX - X)
TempY = FormMake.Top - (MonY - Y)
If TempX < 300 + Form1.SysInfo1.WorkAreaLeft Then 'c'est assez explicite....
FormMake.Left = Form1.SysInfo1.WorkAreaLeft
Else
If TempX + FormMake.Width > Form1.SysInfo1.WorkAreaLeft + Form1.SysInfo1.WorkAreaWidth - 300 Then
FormMake.Left = Form1.SysInfo1.WorkAreaLeft + Form1.SysInfo1.WorkAreaWidth - FormMake.Width
Else
FormMake.Left = TempX
End If
End If

If TempY < Form1.SysInfo1.WorkAreaTop + 300 Then
FormMake.Top = Form1.SysInfo1.WorkAreaTop
Else
If TempY + FormMake.Height > Form1.SysInfo1.WorkAreaTop + Form1.SysInfo1.WorkAreaHeight - 300 Then
FormMake.Top = Form1.SysInfo1.WorkAreaTop + Form1.SysInfo1.WorkAreaHeight - FormMake.Height
Else
FormMake.Top = TempY
End If
End If
End If
End Sub


et voili voila, la form se colle a la barre des taches quelque soit sa position et ses dimmensions.....
c'est pourtant simple, mais pourtant on le voit rarement sur le site....

bon @+ et bon prog !
cs_Lyoko Messages postés 13 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 22 février 2008
8 mars 2005 à 23:46
passe au niveau suivant t pa un debutant met toi intermediare tu le vau largemen
cs_Lyoko Messages postés 13 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 22 février 2008
8 mars 2005 à 23:44
tip top 10
thermo_nono Messages postés 8 Date d'inscription vendredi 13 août 2004 Statut Membre Dernière intervention 5 août 2006
20 août 2004 à 14:55
bravo ! là c'est cool paskeu c'est exactement ce que je cherchais.... c'est même presque mieux que ce que je cherchais... alors merci et bravo ! j'devrais mettre 10/10 mais je met que 9.5/10 pour t'encourager a faire encore mieux...
olivierXIII Messages postés 50 Date d'inscription lundi 21 avril 2003 Statut Membre Dernière intervention 4 août 2005
9 juil. 2003 à 10:21
bravo, ca marche parfaitement sous win2000, par contre dommage que les couches alpha ne soient pas utilisées pour la semi transparence.

10/10
PH0ENlxFR Messages postés 1 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 3 juillet 2003
3 juil. 2003 à 20:14
Merci à tous, sa encourage à publier d'autre source.

Désolé pour la version win98, j'ai pas pensé à la compatibilité ;P
cs_jmluc Messages postés 57 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 31 juillet 2003
2 juil. 2003 à 13:37
Dommage...bon je verrai ce soir chez moi .
J'ai les deux OS sur mon poste...merci
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
2 juil. 2003 à 12:58
jmluc >>> cette fonction n'existe pas sous W98
nicolasvb Messages postés 3 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 2 juillet 2003
2 juil. 2003 à 12:12
dedjou...c bon ça
cs_jmluc Messages postés 57 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 31 juillet 2003
2 juil. 2003 à 11:30
J'ai un prob sur W98 :
la fonction :
SetLayeredWindowAttributes Lib "user32" n'est pas reconnu (problème de Dll) Est-ce parce que je suis sous W98 ou qu'il manque alias...dans la ligne de code fournie ??
merci de la réponse
Tilois Messages postés 721 Date d'inscription dimanche 10 juin 2001 Statut Membre Dernière intervention 27 mars 2011 7
2 juil. 2003 à 09:19
on voit le boulot. L'effet est super .. moi je met 10
cuq Messages postés 345 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 21 mars 2008 2
1 juil. 2003 à 18:40
J'aime .. code simple, propre j'ai mis 9 avec + de commentaires dans le source tu aurais eu 10
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
1 juil. 2003 à 17:30
ca c du bo boulot, bravo ! 10/10 :-D
Rejoignez-nous