Win32lib (simple app) not working

new topic     » topic index » view thread      » older message » newer message

--Alt-Boundary-2122.7869453
Content-description: Mail message body

Hey Win32lib folks,

The code (below) should work with Win32lib 59.1 shouldn't it?
I basically made a mirror of an API program that works as an 
example for someone who uses Win32lib. 
(less a couple hundred lines ofcourse) 

Im uncertain as to why I would "HAVE" to create a Win32lib Pixmap
to do the very same thing Im trying to accomplish here...
(this way would be tons faster than the standard pixmap.)

-- Author: Euman 2003

without warning

include Win32Lib.ew

constant
xPatBlt = registerw32Function(gdi32, "PatBlt", {C_POINTER, C_INT, C_INT, C_INT, 
C_INT, C_LONG}, C_LONG),
PATCOPY =  #F00021

object junk

constant
 MainWin = createEx( Window, "Virtual Window Demo", NULL, 25, 25, 640, 480, 0, 0
)

sequence InitExtent

atom hdc, memdc, hbit, hbrush, ps
   hdc = 0
   memdc = 0

integer vxScreen, vyScreen
   vxScreen = 1280
   vyScreen = 960

-- onOpen_MainWin
procedure onCreate_MainWin( integer self, integer event, sequence parms )
  
  hdc = w32Func( xGetDC, {getHandle( MainWin )} )
  memdc = w32Func( xCreateCompatibleDC, {hdc} )
  hbit = w32Func( xCreateCompatibleBitmap, { hdc, vxScreen, vyScreen } )
  junk = w32Func( xSelectObject, {memdc, hbit} ) 
  hbrush = w32Func( xGetStockObject, {WHITE_BRUSH}) 
  junk = w32Func( xSelectObject, {memdc, hbrush} ) 
        
if not w32Func( xPatBlt, {memdc, 0, 0, vxScreen, vyScreen, PATCOPY}) then end
  if

  setScrollRange ( {MainWin, SB_HORZ}, 1, vxScreen )
  setScrollRange ( {MainWin, SB_VERT}, 1, vyScreen )

  setPenColor( MainWin, Green )
  junk = w32Func(xRectangle, {memdc, 10, 10, 620, 460})
  junk = w32Func( xReleaseDC, {getHandle(MainWin), hdc} )
  junk = w32Func( xInvalidateRect, {getHandle(MainWin), NULL, 0} )
   
end procedure
setHandler(MainWin, w32HActivate, routine_id("onCreate_MainWin"))


ps = acquire_mem(0, SIZEOF_PAINTSTRUCT)

-- onPaint_MainWin
procedure onPaint_MainWin( integer self, integer event, sequence parms )

   hdc = w32Func( xBeginPaint, { getHandle(MainWin), ps } )	 
if not w32Func( xBitBlt, {hdc, 0, 0, vxScreen, vyScreen, memdc, 0, 0,
   SRCCOPY} )
then end if     
   w32Proc( xEndPaint, { getHandle(MainWin), ps } )    

end procedure
setHandler(MainWin, w32HPaint, routine_id("onPaint_MainWin"))


-- onClose_MainWin
procedure onClose_MainWin( integer self, integer event, sequence parms )
  
  junk = w32Func( xReleaseDC, {0, hdc} ) 

end procedure
setHandler(MainWin, w32HClose, routine_id("onClose_MainWin"))

WinMain( MainWin, Normal )



--Alt-Boundary-2122.7869453
Content-type: text/html; charset=US-ASCII
Content-transfer-encoding: 7BIT
Content-description: Mail message body

<?xml  version="1.0" ?><html>
<head>
<title></title>
</head>
<body>
<div align="left"><font face="Arial"><span style="font-size:10pt">Hey Win32lib
folks,</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">The code
(below) should work with Win32lib 59.1 shouldn't it?</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">I basically
made a mirror of an API program that works as an </span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">example for
someone who uses Win32lib. </span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">(less a couple
hundred lines ofcourse) </span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">Im uncertain
as to why I would &quot;HAVE&quot; to create a Win32lib
Pixmap</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">to do the very
same thing Im trying to accomplish here...</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">(this way
would be tons faster than the standard pixmap.)</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">-- Author:
Euman 2003</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">without
warning</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">include
Win32Lib.ew</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span
style="font-size:10pt">constant</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">xPatBlt =
registerw32Function(gdi32, &quot;PatBlt&quot;, {C_POINTER, C_INT, C_INT, C_INT,
C_INT, C_LONG}, C_LONG),</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">PATCOPY
=  #F00021</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">object
junk</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span
style="font-size:10pt">constant</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt"> MainWin =
createEx( Window, &quot;Virtual Window Demo&quot;, NULL, 25, 25, 640, 480, 0,
0</span></font></div>
<div align="left"><font face="Arial"><span
style="font-size:10pt">)</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">sequence
InitExtent</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">atom hdc,
memdc, hbit, hbrush, ps</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  
hdc = 0</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  
memdc = 0</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">integer
vxScreen, vyScreen</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  
vxScreen = 1280</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  
vyScreen = 960</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">--
onOpen_MainWin</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">procedure
onCreate_MainWin( integer self, integer event, sequence parms
)</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt"> 
</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  hdc =
w32Func( xGetDC, {getHandle( MainWin )} )</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  memdc =
w32Func( xCreateCompatibleDC, {hdc} )</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  hbit =
w32Func( xCreateCompatibleBitmap, { hdc, vxScreen, vyScreen }
)</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  junk =
w32Func( xSelectObject, {memdc, hbit} ) </span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  hbrush
= w32Func( xGetStockObject, {WHITE_BRUSH}) </span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  junk =
w32Func( xSelectObject, {memdc, hbrush} ) </span></font></div>
<div align="left"><font face="Arial"><span
style="font-size:10pt">       
</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  if not
w32Func( xPatBlt, {memdc, 0, 0, vxScreen, vyScreen, PATCOPY}) then end if
</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt"> 
setScrollRange ( {MainWin, SB_HORZ}, 1, vxScreen )</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt"> 
setScrollRange ( {MainWin, SB_VERT}, 1, vyScreen )</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt"> 
setPenColor( MainWin, Green )</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  junk =
w32Func(xRectangle, {memdc, 10, 10, 620, 460})</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  junk =
w32Func( xReleaseDC, {getHandle(MainWin), hdc} )</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  junk =
w32Func( xInvalidateRect, {getHandle(MainWin), NULL, 0} )</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  
</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">end
procedure</span></font></div>
<div align="left"><font face="Arial"><span
style="font-size:10pt">setHandler(MainWin, w32HActivate,
routine_id(&quot;onCreate_MainWin&quot;))</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">ps =
acquire_mem(0, SIZEOF_PAINTSTRUCT)</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">--
onPaint_MainWin</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">procedure
onPaint_MainWin( integer self, integer event, sequence parms
)</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  
hdc = w32Func( xBeginPaint, { getHandle(MainWin), ps }
)        </span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  
if not w32Func( xBitBlt, {hdc, 0, 0, vxScreen, vyScreen, memdc, 0, 0, SRCCOPY} )
then end if     </span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  
w32Proc( xEndPaint, { getHandle(MainWin), ps } )   
</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">end
procedure</span></font></div>
<div align="left"><font face="Arial"><span
style="font-size:10pt">setHandler(MainWin, w32HPaint,
routine_id(&quot;onPaint_MainWin&quot;))</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">--
onClose_MainWin</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">procedure
onClose_MainWin( integer self, integer event, sequence parms
)</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt"> 
</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  junk =
w32Func( xReleaseDC, {0, hdc} ) </span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">end
procedure</span></font></div>
<div align="left"><font face="Arial"><span
style="font-size:10pt">setHandler(MainWin, w32HClose,
routine_id(&quot;onClose_MainWin&quot;))</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">WinMain(
MainWin, Normal )</span></font></div>
<div align="left"><br/>
</div>
<div align="left"></div>

--Alt-Boundary-2122.7869453--

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu