BERGOUGNOUX
Messages postés40Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention16 mars 2008
-
28 avril 2007 à 12:02
BERGOUGNOUX
Messages postés40Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention16 mars 2008
-
6 mai 2007 à 16:38
Bonjour à tous,
J'aimerais rendre une form transparente mais que la barre de titre reste visible... c'est-à-dire que toute la form doit disparaître sauf la barre de titre et le contour. Je souhaiterais que la couleur Blanc soit la couleur transparente, mais à chaque fois que j'ai cherché sur les sources du site aucune n'a pu m'aider... Quelqu'un a une idée ?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 28 avril 2007 à 12:14
Transparente ou translucide ?
Car c'est loin d'être la même chose !
La transparence totale par diminution de l'opacité rendant en effet totalement inaccessibles les contrôles, autant alors avoir une Form composée de sa seule barre de titre !
La translucidité est autre chose est laisse encore voir (et donc accessibles) les contrôles dont l'opacité a été réduite !
L'affaire est dans ce cas classée : car la transparence totale induit l'innaccesibilité des contrôles également totalement transparents !
S'i s'agissait donc de celà, il lui suèffirait pour afficher une Form dont on ne voit que la barre de titre (puisque les autres contrôles, complètement transparents, ne seraient plus accessibles) de ramener à 0 lma hauteur de la Form !
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 28 avril 2007 à 13:37
Ah ben j'ai pas trop regardé comment il a fait pour les fenetres style vista, mais je pensais qu'il procedait ainsi :
Il prend une form qui sert uniquement pour la barre de titre : il rend totalement transparent le contenu pour ne garder que les contours, et en plus il la rend translucide.
Il prend une autre form sans bordures windows qu'il place dans les bordures transparentes de la première fenetre...
BERGOUGNOUX
Messages postés40Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention16 mars 2008 29 avril 2007 à 10:23
Je m'explique :
La source dont parle [mailto:MadM@tt MadM@tt] (c'est en effet pour celle-ci que je pose cette question) utilise deux forms : le "fond" que j'ai nommé Bar dans le projet (barre de titre et contour translucides, comme sous Vista) et le contenu que j'ai nommé Background dans le projet, qui est une form à part entière et qui contient tous les contrôles et menus de la Form. Cependant, pour que le fond reste au-dessus du contenu (sinon on ne peut pas cliquer sur le contenu, et de plus on voit le fond de la fenêtre "fond" par dessus), j'ai dû la laisser toujours au premier plan. Le problème est le suivant : si on ouvre une boîte de dialogue ou une autre form qui est censée passer PAR DESSUS la form au style Vista, le contenu de cette même form restera au premier plan tandis que le fond de la form, lui, passera à l'arrière-plan. Ce que j'essaie de faire, c'est de résoudre le problème du premier-plan en ajoutant une couleur transparente à la form "Fond", ainsi seuls la barre de titre et le contour resteront visibles et je pourrai alors laisser la form "Contenu" à l'arrière-plan, car on pourra quand-même la voir et cliquer dessus (le fond de la fenêtre "Fond" aura tout bonnement disparu).
Pour résumer : ce que j'essaie de faire, c'est de faire disparaître le fond de la form "Fond" (ou Bar) de sorte qu'il n'y reste que la barre de titre et le contour.
Merci d'avance !
P.S : [mailto:MadM@tt MadM@tt], dans son dernier message, a raison : c'est exactement ainsi que j'ai procédé pour faire une fenêtre au style Vista...
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 29 avril 2007 à 11:03
Attends un peu ...
On va procéder par étapes :
Etape 1 : une forme transparente (pas translucide mais totalement transparente) mais avec son contenu (ses contrôles) parfaitement opaques, tu sais faire ?
Si oui : on continue
Si non : hé bien ! on va faire, pardi (moiu, je sais ...)
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 29 avril 2007 à 11:07
Car tu devines la suite, non ?
1) une form limitée à sa seule barre de titre
et
2) par dessus cette forme, la forme complètement transparente sauf les contrôles qu'elle contient
et je parle bien là de transparence totale, pas de translucidité trompeuse
BERGOUGNOUX
Messages postés40Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention16 mars 2008 29 avril 2007 à 12:23
Euh je ne sais pas faire une form complètement transparente mais avec un contenu opaque...
Mais je crois que vous n'avez pas compris ce que j'essaie de faire : j'essaie de faire la même chose que sur ma source (http://www.vbfrance.com/codes/BARRE-TITRE-STYLE-VISTA-SOUS-VB6_42481.aspx), mais SANS le fond (avec le Command1) au premier-plan et en contrepartie le contenu de la form "Bar" totalement invisible (on ne doit y voir que la Barre de Titre ET la contour bleu autour de la form) !
Je sais que c'est un peu compliqué, mais bon, si ce n'était pas compliqué je ne poserais pas cette question sur ce forum !
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 29 avril 2007 à 13:48
Ok ok j'ai compris ce que tu veux faire, j'aurais procédé de la meme façon pour avoir des fenetres style vista.
Donc je résume pour etre clair.
Tu veux une form de fond dont on ne garde que les contours (barre de titre et bordures). Celle la on la rend translucide pour rendre comme dans vista. -> Form1
Puis tu colle par dessus une form opaque, mais sans bordure et barre de titre, et qui contient tous tes controles. -> Form2
Le principe, c'est que tu va "enlever" un carré qui sera (dans les coordonnées de la fenetre) de 0,0 à Me.ScaleWidth, Me.ScaleHeight
Ensuite si j'ai bien compris, tu placera ta Form2 dans l'espace vide de la Form1 (en n'oubliant pas d'appliquer de la translucidité à Form1)
Je pense à une autre méthode, je ne sais pas si elle marcherait, ça serait de rendre translucide Form1, puis de faire un SetParent pour "inclure" Form2 dans Form1 (Form1 n'aurait pas de barre de titre pour simplifier). Mais je ne sais pas si Form2 deviendrait translucide car son parent l'est, quelqu'un sait ?
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 29 avril 2007 à 14:31
jmfmarques > "1) une form limitée à sa seule barre de titre
et
2) par dessus cette forme, la forme complètement transparente sauf les contrôles qu'elle contient"
Mais la deuxième form n'est pas transparente du tout si j'ai bien compris.
J'ai peut-être alors mal compris ce qu'il voulait...
Avec ce que je lui dis :
Form./Barre de titre en haut : toujours visible et opaque (reste de la form réduit à 0 de hauteur)
Juste en dessous : form totalement transparente sauf les contrôles qu'elle contient. Cette form laissera voir et utiliser tout ce qui se trouve sous sa partie (le fond) transparente, que ces choses soient sur une autre form, une autre appli, son écran, etc...
BERGOUGNOUX
Messages postés40Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention16 mars 2008 30 avril 2007 à 09:33
Presque parfait, MadM@tt...
J'ai suivi tes conseils, mais un petit problème s'impose : la barre de titre est bien présente, il y a bien un "trou" dans la form, mais... le contour a disparu !
Ca devient désespérant, là....
BERGOUGNOUX
Messages postés40Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention16 mars 2008 30 avril 2007 à 09:41
J'ai une idée : est-ce que ce ne serait pas plus simple d'utiliser une couleur transparente, puis de mettre la BackColor de la form "Bar" à cette couleur transparente ?