Welcome To The Home Of The Visual FoxPro Experts  
home. signup. forum. archives. search. articles. downloads. faq. members. files. rss.
 From: Jose Martin Hernandez
  Where is Jose Martin Hernandez?
 Cartagena
 Spain
 Jose Martin Hernandez
 To: Vilhelm-Ion Praisach
  Where is Vilhelm-Ion Praisach?
 Resita
 Romania
 Vilhelm-Ion Praisach
Subject: RE: Interacting with user without messagebox
Thread ID: 464600 Message ID: 464652 # Views: 35 # Ratings: 0
Version: Visual FoxPro 9 SP2 Category: Classes and Objects
Date: Friday, March 29, 2019 4:22:04 PM         
   



jaja good example!!! I used long time ago this technique with visual basic 6.0 but never tried it again.
Thanks again for the link and the tree. :-)

> >
> > Impressive!!! Thanks for the link.
>
> Indeed, and not very complicated.
> (Read more on Yousfi's blog: http://yousfi.over-blog.com/2018/02/working-with-form-regions-and-transparency.html)
>
> I managed to create a small tree:
>
>
#define RGN_OR 2
> #define RGN_AND 1
> #define RGN_XOR 3
> #define RGN_DIFF 4
> #define RGN_COPY 5
> #define NULLREGION 1
> #define SIMPLEREGION 2
> #define COMPLEXREGION 3
> #define r_ERROR 0
> Declare Long CombineRgn IN WIN32API Long hrgnDest, Long hrgnSrc1, Long hrgnSrc2, Long fnCombineMode
> Declare Long SetWindowRgn IN WIN32API Long hWnd, Long hRgn, String bRedraw
> Declare Long CreateEllipticRgn IN WIN32API Long X1, Long Y1, Long X2, Long Y2
> Declare Long CreateRectRgn IN WIN32API Long X1, Long Y1, Long X2, Long Y2
> Declare Long DeleteObject IN WIN32API LONG hObject
> 
> PUBLIC ofrm
> ofrm=CREATEOBJECT("MyForm")
> oFrm.visible=.T.
> 
> DEFINE CLASS MyForm as Form
> 	backcolor = RGB(0,45,135)
> 	PROCEDURE lOAD
> 		This.reshape
> 	ENDPROC
> 	PROCEDURE resize
> 		This.reshape
> 	ENDPROC
> 	PROCEDURE reshape
> 		LOCAL lox0,x1,x2,x3
> 		lnPow0=1
> 		lox0 = CreateRectRgn(0, 0, This.width+2*SYSMETRIC(3), This.height+2*SYSMETRIC(4)+SYSMETRIC(9))
> 		x1 = CreateRectRgn(SYSMETRIC(3), SYSMETRIC(4)+SYSMETRIC(9), 195 +SYSMETRIC(3), 110 + SYSMETRIC(4)+SYSMETRIC(9))
> 		CombineRgn(lox0,lox0,x1,RGN_XOR )
> 
> ***********************
> 		DeleteObject(x1)
> 		x1=CreateEllipticRgn(50,10 + SYSMETRIC(4)+SYSMETRIC(9),100,60 + SYSMETRIC(4)+SYSMETRIC(9))
> 		CombineRgn(lox0,lox0,x1,RGN_XOR )
> 
> 		DeleteObject(x1)
> 		x1=CreateEllipticRgn(110,10 + SYSMETRIC(4)+SYSMETRIC(9),160,60 + SYSMETRIC(4)+SYSMETRIC(9))
> 		CombineRgn(lox0,lox0,x1,RGN_XOR )
> 
> ***********************
> 		DeleteObject(x1)
> 		x1=CreateEllipticRgn(15,60 + SYSMETRIC(4)+SYSMETRIC(9),65,110 + SYSMETRIC(4)+SYSMETRIC(9))
> 		CombineRgn(lox0,lox0,x1,RGN_XOR )
> 
> 		DeleteObject(x1)
> 		x1=CreateEllipticRgn(80,60 + SYSMETRIC(4)+SYSMETRIC(9),130,110 + SYSMETRIC(4)+SYSMETRIC(9))
> 		CombineRgn(lox0,lox0,x1,RGN_XOR )
> 
> 		DeleteObject(x1)
> 		x1=CreateEllipticRgn(145,60 + SYSMETRIC(4)+SYSMETRIC(9),195,110 + SYSMETRIC(4)+SYSMETRIC(9))
> 		CombineRgn(lox0,lox0,x1,RGN_XOR )
> 
> ***********************
> 		DeleteObject(x1)
> 		x1=CreateEllipticRgn(15,110 + SYSMETRIC(4)+SYSMETRIC(9),65,160 + SYSMETRIC(4)+SYSMETRIC(9))
> 		CombineRgn(lox0,lox0,x1,RGN_XOR )
> 
> 		DeleteObject(x1)
> 		x1=CreateEllipticRgn(80,110 + SYSMETRIC(4)+SYSMETRIC(9),130,160 + SYSMETRIC(4)+SYSMETRIC(9))
> 		CombineRgn(lox0,lox0,x1,RGN_XOR )
> 
> 		DeleteObject(x1)
> 		x1=CreateEllipticRgn(145,110 + SYSMETRIC(4)+SYSMETRIC(9),195,160 + SYSMETRIC(4)+SYSMETRIC(9))
> 		CombineRgn(lox0,lox0,x1,RGN_XOR )
> 
> ***********************
> 		DeleteObject(x1)
> 		x1=CreateEllipticRgn(50,160 + SYSMETRIC(4)+SYSMETRIC(9),100,210 + SYSMETRIC(4)+SYSMETRIC(9))
> 		CombineRgn(lox0,lox0,x1,RGN_XOR )
> 
> 		DeleteObject(x1)
> 		x1=CreateEllipticRgn(110,160 + SYSMETRIC(4)+SYSMETRIC(9),160,210 + SYSMETRIC(4)+SYSMETRIC(9))
> 		CombineRgn(lox0,lox0,x1,RGN_XOR )
> ***********************
> 		DeleteObject(x1)
> 		x1 = CreateRectRgn(100, 150 + SYSMETRIC(4)+SYSMETRIC(9), 110, 250 + SYSMETRIC(4)+SYSMETRIC(9))
> 		CombineRgn(lox0,lox0,x1,RGN_DIFF )
> 
> 		SetWindowRgn(thisform.hwnd, lox0, "True")
> 	ENDPROC
> ENDDEFINE

>
> Respectfully
> http://praisachion.blogspot.ro/

ENTIRE THREAD

Interacting with user without messagebox Posted by Saurabh Samir @ 3/28/2019 9:18:36 AM
RE: Interacting with user without messagebox Posted by Tore Bleken @ 3/28/2019 9:26:16 AM
RE: Interacting with user without messagebox Posted by Saurabh Samir @ 3/28/2019 9:41:33 AM
RE: Interacting with user without messagebox Posted by Tore Bleken @ 3/28/2019 9:53:24 AM
RE: Interacting with user without messagebox Posted by Saurabh Samir @ 3/28/2019 10:01:33 AM
RE: Interacting with user without messagebox Posted by Tore Bleken @ 3/28/2019 10:16:57 AM
RE: Interacting with user without messagebox Posted by Saurabh Samir @ 3/28/2019 10:28:38 AM
RE: Interacting with user without messagebox Posted by Stefan Wuebbe @ 3/28/2019 10:07:57 AM
RE: Interacting with user without messagebox Posted by Saurabh Samir @ 3/28/2019 10:22:17 AM
RE: Interacting with user without messagebox Posted by Stefan Wuebbe @ 3/28/2019 10:35:49 AM
RE: Interacting with user without messagebox Posted by Saurabh Samir @ 3/28/2019 11:00:33 AM
RE: Interacting with user without messagebox Posted by Stefan Wuebbe @ 3/28/2019 11:44:58 AM
RE: Interacting with user without messagebox Posted by Saurabh Samir @ 3/28/2019 12:18:37 PM
RE: Interacting with user without messagebox Posted by Vilhelm-Ion Praisach @ 3/28/2019 1:09:08 PM
RE: Interacting with user without messagebox Posted by Jose Martin Hernandez @ 3/28/2019 4:17:02 PM
RE: Interacting with user without messagebox Posted by Vilhelm-Ion Praisach @ 3/29/2019 11:23:20 AM
RE: Interacting with user without messagebox Posted by Jose Martin Hernandez @ 3/29/2019 4:22:04 PM
RE: Interacting with user without messagebox Posted by Saurabh Samir @ 3/29/2019 5:22:18 AM
RE: Interacting with user without messagebox Posted by Vilhelm-Ion Praisach @ 3/29/2019 11:26:09 AM