Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1226 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB6] Forme des form (jeux de mot de haut niveau je sais :D )

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB6] Forme des form (jeux de mot de haut niveau je sais :D )

n°606024
apone
Posté le 09-01-2004 à 00:12:56  profilanswer
 

Bijour , c'était pour savoir si il était possible de créer des formes autres que rectangulaire , ou tout du moins un espace de travail sur lequel on puisse poser des controles ? un truc qui puisse etre ovale par exemple  
 
merci d avance \o/

mood
Publicité
Posté le 09-01-2004 à 00:12:56  profilanswer
 

n°608171
phenxdesig​n
Posté le 11-01-2004 à 17:59:28  profilanswer
 

nan, je crois pas ...
enfin si je me trompe ...

n°608250
printf
Baston !
Posté le 11-01-2004 à 19:43:19  profilanswer
 

apone a écrit :

Bijour , c'était pour savoir si il était possible de créer des formes autres que rectangulaire , ou tout du moins un espace de travail sur lequel on puisse poser des controles ? un truc qui puisse etre ovale par exemple  
 
merci d avance \o/


 
C'est possible, en jouant avec l'API Windows (en tous cas, j'ai lu ça dans un "Programmez!" il y a fort longtemps).


---------------
Un matin je me lèverai et il fera beau.
n°608258
TotalRecal​l
Posté le 11-01-2004 à 19:49:43  profilanswer
 

printf a écrit :


 
C'est possible, en jouant avec l'API Windows (en tous cas, j'ai lu ça dans un "Programmez!" il y a fort longtemps).


oui !
C'est pas tres compliqué à mettre en oeuvre. Va voir sur des sites comme vbfrance.com pour avoir des explications et des exemples...


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°608260
printf
Baston !
Posté le 11-01-2004 à 19:51:19  profilanswer
 

TotalRecall a écrit :


oui !
C'est pas tres compliqué à mettre en oeuvre. Va voir sur des sites comme vbfrance.com pour avoir des explications et des exemples...


 
Et ici : http://www.c2i.fr/code.aspx?IDCode=478 :D


---------------
Un matin je me lèverai et il fera beau.
n°608479
apone
Posté le 11-01-2004 à 23:55:40  profilanswer
 

Merciiiiiiiiiiiiiii beaucoup !

n°608487
apone
Posté le 12-01-2004 à 00:05:05  profilanswer
 

rha c'est sous vb.net apparement :/

n°608489
printf
Baston !
Posté le 12-01-2004 à 00:10:58  profilanswer
 

apone a écrit :

rha c'est sous vb.net apparement :/  


 
Effectivement.
Mais c'est faisable avec VB6 (ça j'en suis sûr et certain). Tu devrais pouvoir trouver comment faire avec MSDN Library ou le site web indiqué par TotalRecall.


---------------
Un matin je me lèverai et il fera beau.
n°608544
karlkox
Posté le 12-01-2004 à 01:16:33  profilanswer
 

Code :
  1. Public Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
  2. Public Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
  3. Public Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
  4. Public Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
  5. Public Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
  6. Public Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As Coord, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
  7. Public Declare Function CreatePolyPolygonRgn Lib "gdi32" (lpPoint As Coord, lpPolyCounts As Long, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
  8. Dim CurRgn, TempRgn As Long  ' Region variables
  9. Private Const RGN_DIFF = 4
  10. Public Function AutoFormShape(bg As Form, transColor)
  11. Dim X, Y As Integer
  12. Dim success As Long
  13. CurRgn = CreateRectRgn(0, 0, bg.ScaleWidth, bg.ScaleHeight)
  14. While Y <= bg.ScaleHeight
  15.     While X <= bg.ScaleWidth
  16.         If GetPixel(bg.hdc, X, Y) = transColor Then
  17.             TempRgn = CreateRectRgn(X, Y, X + 1, Y + 1)
  18.             success = CombineRgn(CurRgn, CurRgn, TempRgn, RGN_DIFF)
  19.             DeleteObject (TempRgn)
  20.         End If
  21.         X = X + 1
  22.     Wend
  23.         Y = Y + 1
  24.         X = 0
  25. Wend
  26. success = SetWindowRgn(bg.hwnd, CurRgn, True)
  27. DeleteObject (CurRgn)
  28. End Function
  29. ' Utilisation (dans le form)
  30. ' Call AutoFormShape(Me, RGB(255, 0, 255))

n°608546
skylight
Made in France.
Posté le 12-01-2004 à 01:16:48  profilanswer
 

c'est possible sous VB6, je l'a déjà fait.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB6] Forme des form (jeux de mot de haut niveau je sais :D )

 

Sujets relatifs
[VB6] variables [Newbie][HTML]mettre un élément tout en haut a gauche
Table et form, comment faire un form par ligne ?Mise en forme du code!
[C#] Inserer un controle HTML dans une WINDOWS FORMBUG : session, header, switch... je sais pas d'où ça vient !
Jbuilder netbeans eclipse etc... je sais plus quoi utiliserchamp form et lien
VB6 : code pour connection base de données ???Mettre un form sur la même ligne
Plus de sujets relatifs à : [VB6] Forme des form (jeux de mot de haut niveau je sais :D )


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR