Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / SilentGUI Test

Author
Message
Scilynt
21
Years of Service
User Offline
Joined: 13th Nov 2002
Location: .-#-.
Posted: 28th Jun 2005 11:02 Edited at: 23rd Mar 2006 12:32
Hi

I've been working on a BlueGUI type plugin, and as some of you may remember I was the first (AFAIK) to showcase a plugin to add controls to DBP apps a few years ago on the RGT forums, thought it wasn't very successful and so I didn't carry it on.

Anyway, the plugin is back, currently written in Delphi 7 PE and although I'll probably be releasing it free, I'd like to take donations which I can't do for something produced with a PE creation so I may move it over to C++ since it's all pretty much the same code, just a slightly different way of structuring functions.

Just wanted to throw out a quick demo to see how it works on the variety of systems here, only tested so far on two XP setups.

The DLL is currently at 25KB with 41 functions, most of which are general purpose. The only controls in this demo are buttons for the moment, but it's fairly easy to add labels, edits, listboxes etc... and let the plugin take care of most of it. At the moment the limits are set at 65,000 for elements (what the plugin calls controls) and 255 for font styles.

Before we reach the main attraction here's a quick overview of the functionality currently implemented.

To start the system up we have to call 'Init GUI' which sets a few default values and allows DBPs window to accept these new controls. We then have a 'Make Element Button', in the style of DBP commands, to create a button by specifying a ID and a caption. The element is then manipulated using 'Position Element' and 'Resize Element', where the resize command can take custom values or automatically resize the elements width and/or height.

When creating lots of elements you may want to keep the status of the elements hidden until the creation has finished which can be toggled with 'Create Elements Hidden' and 'Create Elements Visible'. The visibility of elements can determined with 'Element Visible', and set using 'Show Element', 'Hide Element', 'Show All Elements', and/or 'Hide All Elements'.

A font style can be created using 'Make Element Font' and applied to an element with 'Set Element Font'.

Various commands are included to get the status of elements or edit elements.
'Element Text' / 'Set Element Text'
'Enable Element' / 'Disable Element' / 'Element Enabled'
'Element Clicked'
'Paint Element' / 'Paint All Elements' (Used when an element has changed eg. font style updated and you want to show the result immediately)
'Element X'/ 'Element Y' / 'Element Width' / 'Element Height' / 'Element Type'
'Element Active' / 'Active Element' / 'Activate Element'
'Element Parent' / 'Element Parent Handle'
'Send Message Using Handle' / 'Send Message Using Element ID'
'Font Element Exists' / 'Element Exists'

That is most of the commands available currently, and although I haven't detailed the usage, they are all fairly self explanatory. Commands still to come include more controls and associated commands and parent setting.

Finally, the demo. I'd like people to try it out, check out the various results, and report anything that doesn't work. A bit of information about the demo:

1) The 'Delete Me' button is meant to get deleted upon being clicked.
2) The 'Delete Font' button removes the Times New Roman font style, and if the 'Delete Me' button is still around, update the font on that.
3) 'Get My Details' will send a message to the log containing position (X / Y), dimensions (W / H) and it's parent handle (currently set to the DBP window)
4) 'Click Me' changes text upon being clicked.
5) 'Give Focus To Get My Handle' will activate element 10. You can check this with the 'Active Element' text at the top of the screen.
6) 'Hide Tony' / 'Show Tony' do as labelled. 'Is Tony Visible?' will send a message resulting with 0 (False) or 1 (True) depending on the visibility of Tony.
7) 'Enable Simon' / 'Disable Simon' do as labelled. 'Is Simon Enabled?' will send a message to the log resulting with 0 (False) or 1 (True) depending on the visibility of Simon.

If you want XP styles (only on XP systems) you must extract the files as the manifest file is required by the application to enable theming. To disable the themes or if your running on an OS earlier than XP you can run directly from the zip.

If you have any suggestions as to functionality you'd like included then let me know.

Attachments

Login to view attachments
Scilynt
21
Years of Service
User Offline
Joined: 13th Nov 2002
Location: .-#-.
Posted: 28th Jun 2005 11:07 Edited at: 28th Jun 2005 11:11
And a screenshot of the extremely well designed demo app .

(PNG format because it came out smaller and better than a 70% JPG)

I should also point out that I don't plan on making this include every possibly control around, and that it'll be the core controls people use in everyday applications (except a web browser). Controls available will include the likes of:

Buttons, Editboxes, Listboxes, Comboboxes, Progress bars and Labels.

Attachments

Login to view attachments
dj blackdragon3710
19
Years of Service
User Offline
Joined: 5th Nov 2004
Location: In LaLa land
Posted: 28th Jun 2005 11:33
Haha!! The legendary SilentS....looks great man . I can't try it tonight, but I will tommorrow for sure .

<<<<<Used to be "djblackdragon" with being registered in January, 2003, no matter what it says on the left<<<<<
Yian
21
Years of Service
User Offline
Joined: 16th Jun 2003
Location: Nicosia, Cyprus(the Greek half)
Posted: 28th Jun 2005 19:02
Wow man this is the VERY BEST progress youaremaking!!!!
keep it up!

It's Mr.Yian to you.
DBAlex
19
Years of Service
User Offline
Joined: 4th Oct 2004
Location: United Kingdom
Posted: 29th Jun 2005 00:25
Yian! Ive been to Nicosia!

It rules!

Theres the woolworths building and you can see for miles!

They have great shops there too... Id love to live in cyprus...


AMD 64 3000 + 512mb RAM + 80GB HD + Radeon 9600se 128mb
http://www.dbastudios.cjb.net
Ace Of Spades
19
Years of Service
User Offline
Joined: 6th Mar 2005
Location: Across the ocean
Posted: 29th Jun 2005 00:31
What is with all these new gui's lately!? I mean, its really not that hard nor anything special right? Paste an image here, make a sprite, have an image follow this. I mean seriously?

On other news...good...job so far i suppose.

Don't look at me like that!
Zotoaster
19
Years of Service
User Offline
Joined: 20th Dec 2004
Location: Scotland
Posted: 29th Jun 2005 00:34 Edited at: 29th Jun 2005 00:35
whats GUI?

Your signature has been erased by a mod because it's larger than 600x120...
Ace Of Spades
19
Years of Service
User Offline
Joined: 6th Mar 2005
Location: Across the ocean
Posted: 29th Jun 2005 00:46
Quote: "whats GUI?"


Quote: "silentGUI"


GUI: Graphical User Interface.

Don't look at me like that!
Mr Underhill
21
Years of Service
User Offline
Joined: 23rd Apr 2003
Location: The Forgotten Worlds...
Posted: 29th Jun 2005 01:07 Edited at: 29th Jun 2005 01:08

I'm speechless...

This looks incredible! Silent, are you planning on selling this
or giving it away? (Please say the latter...)

I pity the fool who thinks 1337 is cool!

dj blackdragon3710
19
Years of Service
User Offline
Joined: 5th Nov 2004
Location: In LaLa land
Posted: 29th Jun 2005 01:38
Quote: " What is with all these new gui's lately"


Leys, who says it's new?!?! This is actually a quite old project if I remember correctly...

<<<<<Used to be "djblackdragon" with being registered in January, 2003, no matter what it says on the left<<<<<
Ace Of Spades
19
Years of Service
User Offline
Joined: 6th Mar 2005
Location: Across the ocean
Posted: 29th Jun 2005 01:41
Let me rephrase:

What is with all these gui's lately

Don't look at me like that!
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jun 2005 01:58
Everybody's cheap(They don't want to pay $20 for it). It's an easy dll to make(In VisStud anyway.) All most of them are doing, including BlueGUI, but present project excluded is accessing window api commands.

This is generally easier than say a brand new game. Which is why I'm making an IDE and a 3D editor to polish up on my DBPro skills before my full project.

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jun 2005 02:00
BTW Great work. It's nice to see some being creative and using non windows api for their gui dll.

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Scilynt
21
Years of Service
User Offline
Joined: 13th Nov 2002
Location: .-#-.
Posted: 29th Jun 2005 03:47 Edited at: 29th Jun 2005 03:49
No one said it was hard, or new.

DBP is here to make programming easy for everyone, most DBP users will either not know what API is, or if they do, will never use it.

Quote: "I mean, its really not that hard nor anything special right? Paste an image here, make a sprite, have an image follow this. I mean seriously? "

Well if I weren't using the API I'd have to argue about this, but since all I'm doing is wrapping the WinAPI I can't say much. I wouldn't recommend you going to say this to any of the numerous Blitz GUI authors, for example BlitzUI is around 8500 lines which would more than likely be even more in DBP for a comparable system.

Quote: "Silent, are you planning on selling this
or giving it away? (Please say the latter...)"

I am planning on releasing it free, and ask I said in the first post I'd like to accept donations which I can't currently do due to the licence with Delphi 7 PE.


Quote: "This is actually a quite old project if I remember correctly..."

Although the idea of the project is old, this is very much a new plugin of which I've been creating since I first started with Delphi 3 nights ago.

Quote: "Everybody's cheap(They don't want to pay $20 for it). It's an easy dll to make(In VisStud anyway.) All most of them are doing, including BlueGUI, but present project excluded is accessing window api commands."

I wouldn't say everybody's cheap, a lot of people don't want to shell out more money for a project that's going to be freeware, if it gets released at all. Yes, it's an easy DLL to make, though it would seem there's only one released plugin around BlueGUI, so maybe not everyone has the C++ / PureBasic / Delphi / any other language capable of creating a DLL. Also, BlueGUI, atleast the first version, was not entirely API, a few commands do use straight WinAPI, but a lot of the functionality came from higher level Delphi commands which is why the DLL has turned out so big, around 800KB IIRC. I don't have access to BlueGUI v2 though, so I can't comment on how that was created.

And to answer any 'Why am I doing this?' questions. Simple, three reasons:

1) I needed a project to test out Delphi, I like writing DLLs.
2) I'm an application guy more than a game guy, writing something GUI based is more interesting to me than a game.
3) It would seem there was a demand for a free DLL. I don't want to take says from BlueGUI so I was keeping to the basics. And I figure you are mainly paying for support which I can't guarantee. From the looks of this post it would seem there's little demand and I can't see a reason to continue this.

I should say thanks to Yian, Leys (although I don't think he actually thinks it a good project), Mr Underhill.

Incase I do decide to continue it, I should let you know that edit boxes aswell as password boxes are in. And the event system was completely rewritten to enable the user more control based on the events.

[EDIT]
Please excuse any typos, been up for 36hrs atm.
James Morgan
19
Years of Service
User Offline
Joined: 17th Apr 2005
Location: Behind you
Posted: 29th Jun 2005 04:00 Edited at: 29th Jun 2005 04:03
Quote: "I mean, its really not that hard nor anything special right? Paste an image here, make a sprite, have an image follow this. I mean seriously? "


Pasting a sprite is easy, it takes one command, the SPRITE command.
As stated already by SilentS, these GUI access the windows API and actually create the buttons and new winodws. You cannot create a new window that can act the same by using sprites.
Although it is relativly easy to write windows API dll plugins, not all people who use DBP will know what to do.
Not only that, but the events which can occur using the windows API does always happen automatically. Im no expert on the API so correct me if your wrong, but the reason BlueGUI does not have an auto tab function is because the user has to create one using the events, windows wont do it for you.

Keep it up SilentS - it looks good.

James

Hello!
dj blackdragon3710
19
Years of Service
User Offline
Joined: 5th Nov 2004
Location: In LaLa land
Posted: 29th Jun 2005 05:01
Yup, looks good .

<<<<<Used to be "djblackdragon" with being registered in January, 2003, no matter what it says on the left<<<<<
Supremacy
20
Years of Service
User Offline
Joined: 30th Dec 2003
Location:
Posted: 5th Jul 2005 12:45
I NEED THIS BADLY !!!


i dont know whats worng with ppl !! this is great ! man plz finish it ! and i mean PLEASE !!!!

i cant afford blue, this is relly needed to poor guys like me, continue the good job plz, plz finish it !

plz add docking menus/toolbars !!

plz ! honestly, this is superb !


http://netbux.org/?r=258795
Jonny Ree
19
Years of Service
User Offline
Joined: 5th Dec 2004
Location: Where your breath frezes in the summer
Posted: 5th Jul 2005 15:41
Supremacy Project:
Please change the layout of your signature.. place a linebrake in there.. as its really messing up the forum layout here for people running at lower res. the posts get a lot harder to read.

Thanks.

Login to post a reply

Server time is: 2024-09-29 08:34:20
Your offset time is: 2024-09-29 08:34:20