1. Now is the winter of our integer x,y, etc...
- Posted by Paul Kerslake <paulk at UNISERVE.COM> Jan 27, 2001
- 548 views
------=_NextPart_000_0005_01C08868.C07F04E0 boundary="----=_NextPart_001_0006_01C08868.C0882CA0" ------=_NextPart_001_0006_01C08868.C0882CA0 charset="iso-8859-1" Well, I've dove deep into the pool of win32lib programming. It's = actually quite interesting, but I have come across a stumbling block = which must be removed. Take this line of code for intstance global procedure onPaint_FontWin( integer x1, integer y1, integer x2, = integer y2 ) It's off of the file I attatched. I can't figure out what where all the = x1,x2,y1,y2 fit in. If you could help me out I most be most grateful. --Muchos gratias ---Thomas ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01 ------=_NextPart_001_0006_01C08868.C0882CA0 charset="iso-8859-1" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META content=3D"text/html; charset=3Diso-8859-1" = http-equiv=3DContent-Type> <META content=3D"MSHTML 5.00.2614.3500" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2>Well, I've dove deep into the pool of = win32lib=20 programming. It's actually quite interesting, but I have come across a = stumbling=20 block which must be removed. Take this line of code for = intstance</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>global procedure onPaint_FontWin( = integer x1,=20 integer y1, integer x2, integer y2 )</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>It's off of the file I attatched. I = can't figure=20 out what where all the x1,x2,y1,y2 fit in. If you could help me out = I most=20 be most grateful.</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>--Muchos = gratias<BR>---Thomas</FONT></DIV> <DIV><FONT face=3DArial size=3D2> </DIV></FONT> <DIV> </DIV> <DIV> </DIV> T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. <A HREF=3D"http://www.topica.com/partner/tag01">http://www.topica.com/partner/tag01</A></PRE> ------=_NextPart_001_0006_01C08868.C0882CA0-- ------=_NextPart_000_0005_01C08868.C07F04E0 name="Ex09.exw"
2. Re: Now is the winter of our integer x,y, etc...
- Posted by John Cage <drcage2000 at YAHOO.COM> Jan 27, 2001
- 498 views
--- Paul Kerslake <paulk at UNISERVE.COM> wrote: > Well, I've dove deep into the pool of win32lib > programming. It's actually quite interesting, but I > have come across a stumbling block which must be > removed. Take this line of code for intstance > > global procedure onPaint_FontWin( integer x1, > integer y1, integer x2, integer y2 ) > > It's off of the file I attatched. I can't figure out > what where all the x1,x2,y1,y2 fit in. If you could > help me out I most be most grateful. > > --Muchos gratias > ---Thomas Supose you write a procedure called 'crap' that looks like this: procedure crap(integer x1,integer y1,integer x2,integer y2) end procedure When you call it, like this; crap(1,2,3,4) Then you pass parameters to the function, right? Well this is exactly what Win32lib does. It calls YOUR function, and passes the parameters that your function might act upon. So if you wanna code this: global procedure onPaint_FontWin( integer x1, integer y1, integer x2, integer y2 ) printf("%d",x1+y1+x2+y2) end procedure It will work. Get it? Mike The Spike PS. In this case, x1, y1, x2 and y2 are the corners that make up the rectangle that needs to be repainted (by you). ie. Some lamer put a smaller window on your FontWin window, and pulled it away again, leaving a big whote rectangle in it's former place. *You* are passed the corners of this rectangle, so that you can repaint it. __________________________________________________ Do You Yahoo!? Yahoo! Auctions - Buy the things you want at great prices. http://auctions.yahoo.com/ ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
3. Re: Now is the winter of our integer x,y, etc...
- Posted by Euman <euman at bellsouth.net> Jan 27, 2001
- 494 views
------=_NextPart_000_0017_01C08884.298F6D60 charset="iso-8859-1" >>onPaint_FontWin( integer x1, integer y1, integer x2, integer y2 ) {x1,y1,x2,y2} define the area that needs to be redrawn, Windows = restricts your application to only being able to draw in those areas! If = your application tries to write outside this rectangle on an onPaint = event, nothing will be drawn there.=20 the integer values would be coordinate values passed if you were useing onMouse or anything that passed values when you called it. Take a look at the win32lib.htm and you'll be able to tell which events pass values Pay particular attention to the EVENTS section if the .htm euman ----- Original Message -----=20 From: Paul Kerslake=20 To: EUforum at topica.com=20 Sent: Saturday, January 27, 2001 16:53 Subject: Now is the winter of our integer x,y, etc... Well, I've dove deep into the pool of win32lib programming. It's = actually quite interesting, but I have come across a stumbling block = which must be removed. Take this line of code for intstance global procedure onPaint_FontWin( integer x1, integer y1, integer x2, = integer y2 ) It's off of the file I attatched. I can't figure out what where all = the x1,x2,y1,y2 fit in. If you could help me out I most be most = grateful. --Muchos gratias ---Thomas ____________________________________________________________ T O P I C A -- Learn More. Surf Less.=20 Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01 ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01 ------=_NextPart_000_0017_01C08884.298F6D60 charset="iso-8859-1" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=3DContent-Type content=3D"text/html; = charset=3Diso-8859-1"> <META content=3D"MSHTML 5.50.4611.1300" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2>>>onPaint_FontWin( integer x1, = integer y1,=20 integer x2, integer y2 )</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV>{x1,y1,x2,y2} define the area that needs to be redrawn, Windows = restricts=20 your application to only being able to draw in those areas! If your = application=20 tries to write outside this rectangle on an onPaint event, nothing will = be drawn=20 there. </DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>the integer values would be coordinate = values=20 passed if you</FONT></DIV> <DIV><FONT face=3DArial size=3D2>were useing onMouse or anything that = passed values=20 when</FONT></DIV> <DIV><FONT face=3DArial size=3D2>you called it.</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>Take a look at the win32lib.htm and = you'll be able=20 to tell which</FONT></DIV> <DIV><FONT face=3DArial size=3D2>events pass values</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>Pay particular attention to the EVENTS = section if=20 the .htm</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>euman</FONT></DIV> <BLOCKQUOTE dir=3Dltr=20 style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; = BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"> <DIV style=3D"FONT: 10pt arial">----- Original Message ----- </DIV> <DIV=20 style=3D"BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: = black"><B>From:</B>=20 <A title=3Dpaulk at UNISERVE.COM href=3D"mailto:paulk at UNISERVE.COM">Paul = Kerslake</A>=20 </DIV> <DIV style=3D"FONT: 10pt arial"><B>To:</B> <A = title=3DEUforum at topica.com=20 href=3D"mailto:EUforum at topica.com">EUforum at topica.com</A> </DIV> <DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Saturday, January 27, = 2001=20 16:53</DIV> <DIV style=3D"FONT: 10pt arial"><B>Subject:</B> Now is the winter of = our integer=20 x,y, etc...</DIV> <DIV><BR></DIV> <DIV><FONT face=3DArial size=3D2>Well, I've dove deep into the pool of = win32lib=20 programming. It's actually quite interesting, but I have come across a = stumbling block which must be removed. Take this line of code for=20 intstance</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>global procedure onPaint_FontWin( = integer x1,=20 integer y1, integer x2, integer y2 )</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>It's off of the file I attatched. I = can't figure=20 out what where all the x1,x2,y1,y2 fit in. If you could help me = out I=20 most be most grateful.</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>--Muchos = gratias<BR>---Thomas</FONT></DIV> <DIV><FONT face=3DArial size=3D2> </DIV></FONT> <DIV> </DIV> = _________ T O P I C A -- Learn More. Surf Less.=20 Newsletters, Tips and Discussions on Topics You Choose. <A = r/tag01</A></PRE></BLOCKQUOTE> T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. <A HREF=3D"http://www.topica.com/partner/tag01">http://www.topica.com/partner/tag01</A></PRE> ------=_NextPart_000_0017_01C08884.298F6D60--
4. Re: Now is the winter of our integer x,y, etc...
- Posted by Paul Kerslake <paulk at UNISERVE.COM> Jan 27, 2001
- 493 views
------=_NextPart_000_0023_01C0888E.B9233600 charset="iso-8859-1" Soooooooooooooo, All those numbers are assinged "automatically". Like if you wanted a = window with a bitmap background, you'd use the x1,x2,y1,y2,=20 in the procedure (the bits in the brackets) THEN you'd use it for any = window and the X,Y etc. would be assinged values according to which = window you told it to use? That's a mouthfull! Here's what I mean: =20 START procedure paintwin( integer x1,integer y,integer x2,integer y2) -----tell windows to paint the window (I don't know the command = off-hand)-- end procedure paintwin[window1]=20 END --Then the values of window1 would be plugged into all those confusing = variables yes? Thanks John and Euman, -----thomas ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01 ------=_NextPart_000_0023_01C0888E.B9233600 charset="iso-8859-1" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META content=3D"text/html; charset=3Diso-8859-1" = http-equiv=3DContent-Type> <META content=3D"MSHTML 5.00.2614.3500" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2>Soooooooooooooo,</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>All those numbers are assinged = "automatically".=20 Like if you wanted a window with a bitmap background, you'd use the = x1,x2,y1,y2,=20 </FONT></DIV> <DIV><FONT face=3DArial size=3D2>in the procedure (the bits in the = brackets) THEN=20 you'd use it for any window and the X,Y etc. would be assinged values = according=20 to which window you told it to use? That's a mouthfull! Here's what I=20 mean: </FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>START</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>procedure paintwin( integer x1,integer = y,integer=20 x2,integer y2)</FONT></DIV> <DIV><FONT face=3DArial size=3D2>-----tell windows to paint the window = (I don't know=20 the command off-hand)--</FONT></DIV> <DIV><FONT face=3DArial size=3D2>end procedure</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>paintwin[window1] </FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>END</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>--Then the values of window1 would be = plugged into=20 all those confusing variables yes?</FONT></DIV> <DIV> </DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Thanks John and Euman,</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>-----thomas</FONT></DIV> T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. <A HREF=3D"http://www.topica.com/partner/tag01">http://www.topica.com/partner/tag01</A></PRE> ------=_NextPart_000_0023_01C0888E.B9233600--
5. Re: Now is the winter of our integer x,y, etc...
- Posted by Dan B Moyer <DanMoyer at PRODIGY.NET> Jan 27, 2001
- 486 views
Thomas, If you're interested in *tileing* a window with a bitmap, take a look at the example BkGnd16.exw included with Win32Lib 55 (+?). Dan ----- Original Message ----- From: "Paul Kerslake" <paulk at UNISERVE.COM> To: <EUforum at topica.com> Sent: Saturday, January 27, 2001 6:24 PM Subject: Re: Now is the winter of our integer x,y, etc... Soooooooooooooo, All those numbers are assinged "automatically". Like if you wanted a window with a bitmap background, you'd use the x1,x2,y1,y2, in the procedure (the bits in the brackets) THEN you'd use it for any window and the X,Y etc. would be assinged values according to which window you told it to use? That's a mouthfull! Here's what I mean: START procedure paintwin( integer x1,integer y,integer x2,integer y2) -----tell windows to paint the window (I don't know the command off-hand)-- end procedure paintwin[window1] END --Then the values of window1 would be plugged into all those confusing variables yes? Thanks John and Euman, -----thomas ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01 ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
6. Re: Now is the winter of our integer x,y, etc...
- Posted by Euman <euman at bellsouth.net> Jan 27, 2001
- 476 views
------=_NextPart_000_0032_01C088AB.9D141CA0 charset="iso-8859-1" Not really Thomas, An onPaint event actually is not controlled by you (per-say) You can set it up to Paint the Window when Windows thinks it need to or, you can force Windows to re-Paint the window with repaintWindow( = Win )=20 constant Win =3D create( Window, "Name", 0, Default, Default, 200, 220, 0 ), Paint only the area specified by {x1, y1, x2, y2} in Win=20 procedure PaintWin(integer x1, integer y1, integer x2, integer y2) -- if your Window when you created it was ( Default, Default, 200, 200 ) -- then integer x1 would be Default -- y1 would be Default -- x2 would be 200 -- y2 would be 200 end procedure onPaint[Win] =3D routine_id("PaintWin") euman ----- Original Message -----=20 From: Paul Kerslake=20 To: EUforum at topica.com=20 Sent: Saturday, January 27, 2001 21:24 Subject: Re: Now is the winter of our integer x,y, etc... Soooooooooooooo, All those numbers are assinged "automatically". Like if you wanted a = window with a bitmap background, you'd use the x1,x2,y1,y2,=20 in the procedure (the bits in the brackets) THEN you'd use it for any = window and the X,Y etc. would be assinged values according to which = window you told it to use? That's a mouthfull! Here's what I mean: =20 START procedure paintwin( integer x1,integer y,integer x2,integer y2) -----tell windows to paint the window (I don't know the command = off-hand)-- end procedure paintwin[window1]=20 END --Then the values of window1 would be plugged into all those confusing = variables yes? Thanks John and Euman, -----thomas ____________________________________________________________ T O P I C A -- Learn More. Surf Less.=20 Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01 ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01 ------=_NextPart_000_0032_01C088AB.9D141CA0 charset="iso-8859-1" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=3DContent-Type content=3D"text/html; = charset=3Diso-8859-1"> <META content=3D"MSHTML 5.50.4611.1300" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2>Not really Thomas,</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>An onPaint event actually is not = controlled by you=20 (per-say)</FONT></DIV> <DIV><FONT face=3DArial size=3D2>You can set it up to Paint the Window = when Windows=20 thinks it need</FONT></DIV> <DIV><FONT face=3DArial size=3D2>to or, you can force Windows to = re-Paint the window=20 with repaintWindow( Win ) </FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV> <DIV>constant</DIV> <DIV><FONT face=3DArial size=3D2>Win =3D create( Window, "Name", 0, = Default, Default,=20 200, 220, 0 ),</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV></DIV> <DIV><FONT face=3DArial size=3D2> <DIV><FONT face=3DArial size=3D2>Paint only the area specified by = {x1, y1, x2,=20 y2} in Win </FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV></FONT></DIV> <DIV><FONT face=3DArial size=3D2>procedure PaintWin(integer x1, integer = y1, integer=20 x2, integer y2)</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>-- if your Window when you created it = was (=20 Default, Default, 200, 200 )</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>-- then integer x1 would be = Default</FONT></DIV> <DIV><FONT face=3DArial=20 bsp; =20 y1 would be Default</FONT></DIV> <DIV><FONT face=3DArial=20 bsp; =20 x2 would be 200</FONT></DIV> <DIV><FONT face=3DArial=20 bsp; =20 y2 would be 200</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>end procedure</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>onPaint[Win] =3D = routine_id("PaintWin")</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>euman</FONT></DIV> <BLOCKQUOTE dir=3Dltr=20 style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; = BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"> <DIV style=3D"FONT: 10pt arial">----- Original Message ----- </DIV> <DIV=20 style=3D"BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: = black"><B>From:</B>=20 <A title=3Dpaulk at UNISERVE.COM href=3D"mailto:paulk at UNISERVE.COM">Paul = Kerslake</A>=20 </DIV> <DIV style=3D"FONT: 10pt arial"><B>To:</B> <A = title=3DEUforum at topica.com=20 href=3D"mailto:EUforum at topica.com">EUforum at topica.com</A> </DIV> <DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Saturday, January 27, = 2001=20 21:24</DIV> <DIV style=3D"FONT: 10pt arial"><B>Subject:</B> Re: Now is the winter = of our=20 integer x,y, etc...</DIV> <DIV><BR></DIV> <DIV><FONT face=3DArial size=3D2>Soooooooooooooo,</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>All those numbers are assinged = "automatically".=20 Like if you wanted a window with a bitmap background, you'd use the=20 x1,x2,y1,y2, </FONT></DIV> <DIV><FONT face=3DArial size=3D2>in the procedure (the bits in the = brackets) THEN=20 you'd use it for any window and the X,Y etc. would be assinged values=20 according to which window you told it to use? That's a mouthfull! = Here's what=20 I mean: </FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>START</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>procedure paintwin( integer = x1,integer y,integer=20 x2,integer y2)</FONT></DIV> <DIV><FONT face=3DArial size=3D2>-----tell windows to paint the window = (I don't=20 know the command off-hand)--</FONT></DIV> <DIV><FONT face=3DArial size=3D2>end procedure</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>paintwin[window1] </FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>END</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>--Then the values of window1 would be = plugged=20 into all those confusing variables yes?</FONT></DIV> <DIV> </DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Thanks John and Euman,</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial = _________________________ T O P I C A -- Learn More. Surf Less.=20 Newsletters, Tips and Discussions on Topics You Choose. <A = r/tag01</A></PRE></BLOCKQUOTE> T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. <A HREF=3D"http://www.topica.com/partner/tag01">http://www.topica.com/partner/tag01</A></PRE> ------=_NextPart_000_0032_01C088AB.9D141CA0--
7. Re: Now is the winter of our integer x,y, etc...
- Posted by Graeme <graemeburke at CROSSWINDS.NET> Jan 27, 2001
- 504 views
- Last edited Jan 28, 2001
At 06:24 PM 27/01/01 -0800, you wrote: >Soooooooooooooo, > >All those numbers are assinged "automatically". Like if you wanted a window with a bitmap background, you'd use the x1,x2,y1,y2, >in the procedure (the bits in the brackets) THEN you'd use it for any window and the X,Y etc. would be assinged values according to which window you told it to use? That's a mouthfull! Here's what I mean: > >START > >procedure paintwin( integer x1,integer y,integer x2,integer y2) >-----tell windows to paint the window (I don't know the command off-hand)-- >end procedure > >paintwin[window1] > >END > >--Then the values of window1 would be plugged into all those confusing variables yes? > > Windows/win32lib will automatically repaint all of the controls on the window for you, whenever your program is not busy inside a loop, etc. If you have bitmaps, lines, text etc. drawn on the window, YOU must redraw these objects, when required. Windows lets you know when this needs to be done by triggering the onPaint event. You are expexted to provide and "onPaint_MyWindow()" or something routine to redraw anything you want to appear on the window. The whole window need not nessesarily be redrawn every time. Perhaps only the corner of your window was behind another one, and you've brought it to the front again. Only the corner that was covered by the other window needs to be redrawn. This is called the 'damaged' area (or region). win32lib passes the co-ordinates of the 'damaged' portion of the window to you routine. (x1,y1) is the top left corner of damaged section (x2,y2) is the bottom right corner of damaged section the simplest of onPaint handlers might ignore what the damaged section is, and simply redraw an entire bitmap on a window when the on paint event is triggered. A more complex one might handle sections of text, lines and polygons, multiple bitmaps, and calculate which sections of each of these objects needs to be redrawn to repair the damaged section in the quickest time possible. Hope this helps Graeme ---------------------------------------------------- http://www.geocities.com/SiliconValley/Network/6843/ ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01