Les formes des fenetres

cs_topnad Messages postés 16 Date d'inscription dimanche 12 septembre 2004 Statut Membre Dernière intervention 2 janvier 2005 - 16 oct. 2004 à 10:27
DRJEROME Messages postés 436 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 5 février 2015 - 17 oct. 2004 à 20:39
comment creer des fenetres de formes differentes d'un rectangle ou d'un carré!!!! par exemple des ronds ou de la forme d'un nuage

4 réponses

DRJEROME Messages postés 436 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 5 février 2015
16 oct. 2004 à 21:49
DrJerome

Cette méthode de découpage est connue depuis belle lurette, on la connaissait déjà du temps de Delphi4...le problème c'est qu'elle est très lente (essaie de mettre une image de taille moyenne avec pleins d'arabesques et de trous à l'emporte-pièce, l'ouverture de l'éxécutable ne sera pas spontanée), il y a bien plus rapide ;)
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
17 oct. 2004 à 01:06
DrJerome > Ben s'il y a bien plus rapide, doc, dis-nous comment, des fois qu'on saurait pas...

Merci ;)

japee, débutant et pour longtemps :-p
0
DRJEROME Messages postés 436 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 5 février 2015
17 oct. 2004 à 11:02
3 méthodes (en plus de celle habituellement citée):

1°/ mettre dans le code les lignes de code qui font l'hrgn et que tu as tiré à l'avance d'un scanline que (tu ne fais pas le scanline à l'ouverture du coup). J'avais fait un code-source qui permettait cela par copier-coller automatique(ça créait automatiquement les lignes du code-source à insérer dans le Onformcreate). ça ressemble à ça :
"rgn1:=createrectrgn(1,0,1,1);
rgn2 := createrectrgn(144,3,176,4);
combinergn (rgn1,rgn1,rgn2,RGN_OR);
deleteobject(rgn2);
rgn2 := createrectrgn(347,3,455,4);
combinergn (rgn1,rgn1,rgn2,RGN_OR);
deleteobject(rgn2);" Inconvénient ça fait de lignes de code à rallonge dans onformcreate

Cela dit ça paraît bête mais les grandes images compliquées apparaîssent spontanément

2°/ mettre en resource l'hrgn de l'image en question (en gros c'est le 1°/ mis en resource)

3°/à partir du BITMAPINFOHEADER du Bimap on créé l'hrgn sans scanline (il est utilisé une boucle de traitement qui à partir des infos du header créé une région rognée hrgn, c'est très rapide) on peut ouvrir spontanément l'éxécutable. C'est efficace et le plus intéressant à mon goût?

DrJerome
0
DRJEROME Messages postés 436 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 5 février 2015
17 oct. 2004 à 20:39
Ah, j'oubliais... la méthode la plus simple applicable à WindowsXP (malheureusement ne marche pas pour W98 )

SetLayeredWindowAttributes si on a une ancienne version de Delphi

AlphaBlend si on a une version plus récente de Delphi

DrJerome
0
Rejoignez-nous