Re: What am I doing wrong?

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

The problem is, you are mixing setHandler() and the onXXX events. Any 
use of setHandler() turns off the onXXX events. I think adding a tooltip to 
the button might indirectly call setHandler(). Either way, you should be 
using setHandler and not onXXX. onXXX events are deprecated. Your code 
should be re-written like this:

include win32lib.ew

constant	-- Win32 Setup
	Win = create(Window, "Window Title", 0,
		{0.5,-150}, {0.5, -220}, 300, 220, 0)

constant
	Done = create(PushButton, {"Exit","Close window and exit."},
		Win, 150, 160, 60, 25, w32AUTOCLOSE)

procedure onPaint_Win(integer self, integer event, sequence params) --params 
is {x1, y1, x2, y2}
	wPuts(Win, "This is some text")
end procedure

setHandler(Win, w32HPaint, routine_id("onPaint_Win"))

WinMain(Win, Normal)

>From: Louis at cwshop.com
>Reply-To: EUforum at topica.com
>To: EUforum <EUforum at topica.com>
>Subject: What am I doing wrong?
>Date: Mon, 29 Sep 2003 13:24:48 -0400
>
>
>Although an experienced programmer, I know nothing about Windows 
>programming except what is in the Win32Lib documentation.
>
>I am trying to put text into a window that also has a button in it.  This 
>is my test program:
>
>constant	-- Win32 Setup
>	Win = create(Window, "Window Title", 0,
>		{0.5,-150}, {0.5, -220}, 300, 220, 0)
>
>--constant
>--	Done = create(PushButton, {"Exit","Close window and exit."},
>--		Win, 150, 160, 60, 25, w32AUTOCLOSE)
>
>procedure onPaint_Win(integer x1, integer y1, integer x2, integer y2)
>	wPuts(Win, "This is some text")
>end procedure
>
>onPaint[Win] = routine_id("onPaint_Win")
>
>WinMain(Win, Normal)
>
>This displays the text OK, but if I uncomment the lines to create a button, 
>the text disappears.  Why?
>
>I tried putting the wPuts in "Load_Win" which is called as:
>
>setHandler(Win, w32HActivate, routine_id("Load_Win"))
>
>And that worked, except if I minimize the window then bring it back, the 
>text is gone.  Why?
>
>I tried changing "W32HActivate" to "W32HOpen", but that never worked at 
>all.  Why?  Because the window had not opened yet?
>
>Louis.
>
>
>
>TOPICA - Start your own email discussion group. FREE!
>
>

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

Search



Quick Links

User menu

Not signed in.

Misc Menu