Win32lib (simple app) not working #2

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

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

Well, I must agree Win32lib 59.1 is pretty useless.

This doesn't work either because setWinMsgHandler()
has a bug in it, ( "id" hasn't been declared)

-- Author: Euman 2003 try # 2 using Win32lib

without warning

include Win32Lib.ew
with trace
trace(1)

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


integer vxScreen, vyScreen
   vxScreen = 1280
   vyScreen = 960

ps = acquire_mem(0, SIZEOF_PAINTSTRUCT)

-- onOpen_MainWin
function MainWnd_Proc( integer pSource, atom hWnd, atom iMsg, atom wParam,  
atom lParam )
  
  if iMsg = WM_CREATE then

     hdc = w32Func( xGetDC, {hWnd} )
     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} ) 
        
     junk = w32Func( xPatBlt, {memdc, 0, 0, vxScreen, vyScreen, PATCOPY}) 

     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, {hWnd, hdc} )
     junk = w32Func( xInvalidateRect, {hWnd, NULL, 0} )
   
   elsif iMsg = WM_PAINT then
   
      hdc = w32Func( xBeginPaint, { hWnd, ps } )	 
      junk = w32Func( xBitBlt, {hdc, 0, 0, vxScreen, vyScreen, memdc, 0, 0, 
SRCCOPY} )     
      w32Proc( xEndPaint, { hWnd, ps } )    

   elsif iMsg = WM_DESTROY then

      junk = w32Func( xReleaseDC, {0, hdc} )

   end if
   return {0}
end function

setWinMsgHandler(MainWin, {WM_CREATE, WM_PAINT, WM_DESTROY}, 
routine_id("MainWnd_Proc"))

WinMain( MainWin, Normal )



--Alt-Boundary-19691.13897765
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">Well, I must
agree Win32lib 59.1 is pretty useless.</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">This doesn't
work either because setWinMsgHandler()</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">has a bug in
it, ( &quot;id&quot; hasn't been declared)</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">-- Author:
Euman 2003 try # 2 using Win32lib</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"><font face="Arial"><span style="font-size:10pt">with
trace</span></font></div>
<div align="left"><font face="Arial"><span
style="font-size:10pt">trace(1)</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"><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"><br/>
</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">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">--
onOpen_MainWin</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">function
MainWnd_Proc( integer pSource, atom hWnd, atom iMsg, atom wParam,
atom lParam )</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 iMsg
= WM_CREATE then</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span
style="font-size:10pt">     hdc = w32Func( xGetDC, {hWnd}
)</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">     junk = w32Func( xPatBlt, {memdc,
0, 0, vxScreen, vyScreen, PATCOPY}) </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,
{hWnd, hdc} )</span></font></div>
<div align="left"><font face="Arial"><span
style="font-size:10pt">     junk = w32Func( xInvalidateRect,
{hWnd, 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">  
elsif iMsg = WM_PAINT then</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( xBeginPaint,
{ hWnd, ps } )   </span></font></div>
<div align="left"><font face="Arial"><span
style="font-size:10pt">      junk = w32Func( xBitBlt,
{hdc, 0, 0, vxScreen, vyScreen, memdc, 0, 0,
SRCCOPY} )     </span></font></div>
<div align="left"><font face="Arial"><span
style="font-size:10pt">      w32Proc( xEndPaint, { hWnd,
ps } )    </span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  
elsif iMsg = WM_DESTROY then</span></font></div>
<div align="left"><br/>
</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 if</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">  
return {0}</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">end
function</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span
style="font-size:10pt">setWinMsgHandler(MainWin, {WM_CREATE, WM_PAINT,
WM_DESTROY},
routine_id(&quot;MainWnd_Proc&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-19691.13897765--

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

Search



Quick Links

User menu

Not signed in.

Misc Menu