New WinBlitz3D beta

Blitz3D Forums/Blitz3D Programming/New WinBlitz3D beta

Kev(Posted 2004) [#1]
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


fredborg(Posted 2004) [#2]
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!


Kev(Posted 2004) [#3]
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


Perturbatio(Posted 2004) [#4]
I get a runtime error with the tabber example, but ONLY when debug is enabled.


fredborg(Posted 2004) [#5]
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.


Kev(Posted 2004) [#6]
thanks guys, im looking into this.

kev


Perturbatio(Posted 2004) [#7]
for the progressBar not appearing, if you change the control class to "msctls_progress32" instead of "msctls_progress" it works.


Picklesworth(Posted 2004) [#8]
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.)


Kev(Posted 2004) [#9]
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


Picklesworth(Posted 2004) [#10]
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



Kev(Posted 2004) [#11]
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


Picklesworth(Posted 2004) [#12]
Okay, even better now :)
Thanks kev.


Picklesworth(Posted 2004) [#13]
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.


Kev(Posted 2004) [#14]
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


BODYPRINT(Posted 2004) [#15]
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