New WinBlitz3D beta

Blitz3D Forums/Blitz3D Programming/New WinBlitz3D beta

Hi

Ive finished tabber gadgets(with imageslists), listview's are also finished. plus ive fixed some bugs that was reported in the last beta.


download.
http://homepage.ntlworld.com/pamela.poole/WinBlitz3D_beta.zip

cheers
kev

Cool stuff.

A couple of bugs? The tabber example gives me a memory access violation when I click one of the tabs, and the progress bar example doesn't show a progress bar :)

Keep it up!

Thanks for the feedback Fredborg, thats the second report of MAV with tabber gadgets, what os are you using? version of blitz3d?

can you give a little more information, does this happen when any tab is selected?

cheers
kev

I get a runtime error with the tabber example, but ONLY when debug is enabled.

Hi,

All the tabs produce a MAV, it happens in the Grab_BankFromAddr function on the Return Bank_addr line. It MAVs both with and without debugging on. I'm using Win2000 Pro.

thanks guys, im looking into this.

kev

for the progressBar not appearing, if you change the control class to "msctls_progress32" instead of "msctls_progress" it works.

this is very useful, but is there a way that you could make each of the windows contained within one main window? (so that they don't go behind it, etc.)

Mr. Picklesworth, a temporary fix.


; 
Include "WinBlitz3D_Include.bb"

; create gui window.
Global GUIwindow = CreateWindow("WinBlitz3D CreateWindow Example",10,15,800,500,0,0)
Global GUIwindow2 = CreateWindow("WinBlitz3D CreateWindow Example",10,15,800,500,0,0)
apiSetParent GUIwindow2,GUIwindow


; loop until user close's window.
While events <> $803

	events = WaitEvent()
	
	Select events

		Case $1001
			MenuSelected = EventData()
			Notify "Menu Event, You Selected Menu "+MenuSelected
				
		Case $401
			GadgetSelected = EventSource()
			Notify "Gadget Event, Pointer "+GadgetSelected	
	
	End Select
			
Wend
Notify "UnInitializing GUI"
End


kev

Okay, that works nicely, thanks. However, the program still closes even if the secondary window is closed. I guess you'll fix that later?

It's so fun to have new functions to play with :D
Include "WinBlitz3D_Include.bb"

; create gui window.
Global GUIwindow = CreateWindow("Main window",0,0,1024,768,0,0)
Global GUIwindow2 = CreateWindow("Secondary window",612,530,400,200,0,0)
apiSetParent GUIwindow2,GUIwindow

Global Lable = CreateLabel("",0,0,256,25,GUIwindow2)

Global listview = CreateListView("listview",30,30,300,150,GUIwindow2,0)
ListViewStyle(listview,0)

For add_listview_items = 0 To 4
	AddListViewColumn(listview,add_listview_items,"Column "+add_listview_items)
Next

For loop = 0 To 4
	For loop1 = 0 To 10
		AddListViewItem(listview,loop,loop1,"Column "+loop+" , Item "+loop1)
	Next
Next

; loop until user close's window.
While events <> $803

	events = WaitEvent()
	
	Select events

		Case $1001
			MenuSelected = EventData()
			Notify "Menu Event, You Selected Menu "+MenuSelected
				
		Case $401
			GadgetSelected = EventSource()
			Notify "Gadget Event, Pointer "+GadgetSelected	
	
	End Select
			
Wend
Notify "UnInitializing GUI"
End


Mr. P,

in the event handler function, find WM_NCDESTROY and add after it. 'PokeInt WinProcReturn,$0C,PeekInt(WinProcReturn,$00)'



Include "WinBlitz3D_Include.bb"

; create gui window.
Global GUIwindow = CreateWindow("Main window",0,0,1024,768,0,0)
Global GUIwindow2 = CreateWindow("Secondary window",612,530,400,200,0,0)
apiSetParent GUIwindow2,GUIwindow

Global Lable = CreateLabel("",0,0,256,25,GUIwindow2)

Global listview = CreateListView("listview",30,30,300,150,GUIwindow2,0)
ListViewStyle(listview,0)

For add_listview_items = 0 To 4
	AddListViewColumn(listview,add_listview_items,"Column "+add_listview_items)
Next

For loop = 0 To 4
	For loop1 = 0 To 10
		AddListViewItem(listview,loop,loop1,"Column "+loop+" , Item "+loop1)
	Next
Next

QUIT = 0

; loop until user close's window.
While QUIT <> 1

	events = WaitEvent()
	
	Select events
		
		Case $803
			GadgetSelected = EventSource()
			
			Select GadgetSelected
				
				Case GUIwindow
					Notify "window 1"
					
				Case GUIwindow2	
					Notify "window 2"
						
			End Select
			
		Case $1001
			MenuSelected = EventData()
			Notify "Menu Event, You Selected Menu "+MenuSelected
				
		Case $401
			GadgetSelected = EventSource()
			Notify "Gadget Event, Pointer "+GadgetSelected	
	
	End Select
			
Wend
Notify "UnInitializing GUI"
End




eventsource() will now contain the hwnd pointer to the closed window

kev

Okay, even better now :)
Thanks kev.

By the way, this is a convieniant way to make a hidden app. like if you're making something to run in the background, instead of putting it in the system tray (which sadly is not possible yet) you may be able to make it invisible.

Mr. P, yes i need to port my c sourcecode for the taskbar.dll thats available in the code archive. the .dll is only usable in blitz+ at the moment

kev

I'm not sure if this is what you are after Mr P, but check out this post to make any Blitz3D app "invisible" :-)

This icludes the annoying startup window that appears at the start of any program.

http://www.blitzbasic.com/Community/posts.php?topic=37093