Jump to content


Photo

Max Winapi - My Windows Controls Dll


  • Please log in to reply
376 replies to this topic

#1 h0bbel

h0bbel

    GMC Member

  • New Member
  • 252 posts

Posted 24 December 2006 - 04:25 PM

banner_maxwinapi.png

Latest updates ( Version 1.8.0.0 )
- Fixed the API_Menu_DestroyMenu function.
- Added a function to show a popup menu.
- Fixed the statusbar, it resizes now with the window.
- Fixed the game maker window support
- Fixed the functions to change the control colors

Here's my Max WinAPI DLL.

(link removed)

Colored controls: (Press F1 and F2 in the example to preview)
(link removed)

The current controls it creates:
  • Static controls
  • Edit controls
  • Button controls
  • Radio controls
  • Checkbox controls
  • Listbox controls
  • Listview controls
  • Treeview controls
  • Combobox controls
  • Animate controls
  • Progress controls
  • Date-Time controls
  • IP Address controls
  • Calendar controls
  • Richedit controls
  • Scrollbar controls
  • Status controls
  • Syslink controls
  • Tab controls
  • Up-Down controls
  • Menu Functions
Every control which needs it can check text and selection.
You don't need to check each control with a separate function, the DLL uses window subclassing, which means window messages are send in one real value to your game maker program.

(link removed)

Update to version 1.1.0.0

- Added 9 new menu functions
- Added function to check wether window is closed
- Fixed constant memory increase bug in example

Update to version 1.1.5.0

- Added functions to set/get position of controls.
- Added function to set the focus to a control.
- Added function to destroy a control.
- Added function to get the window handle of a control.
- Added function to easily make an about box with bitmap.
- Added function for save/open file dialogs with more options than the standard.

Update to version 1.2.0.0

- All control fonts are now automatically created with the standard system font, not the bold font it was created with in earlier versions.
- Added function to change the font of every kind of control that has text in it.
- Added autofont, a function that sets a default font for creating controls, so you don't have to call the set font function for every control.

Update to version 1.2.5.0

- Added function to change the show status of a control.
- Added functions to get/set the parent of a control
- Added function to show message boxes

Update to version 1.3.0.0

- Updated the window check system to check up to 10 windows at the same time.
- Added function to set/get the parent of a window.
- Added function to get the number of files, and file names of the files that are dropped into the check window.

Update to version 1.4.0.0
- Added the drawing system, a system that makes it easy to draw bitmaps,lines,rectangles,rounded rectangles and ellipses in you API Windows.
- Added a function to change the icon of an API window.

Update to version 1.4.5.0
- Added tooltip support.

Update to version 1.5.0.0
- Added font dialog
- Added internal window scrollbar functions
- Added function to get control focus
- Added function to change the background color of a window

Update to version 1.5.5.0
- Added some richedit functions
- Optimized data conversion, may improve speed and reduce the showing up of debuggers.

Update to version 1.6.0.0
- Added MDI support, create multiple windows into a Max WinAPI window like the Game Maker editor has.

Update to version 1.6.5.0
- Added system tray icon support, including balloon tips.

Update to version 1.7.0.0
- Fixed height error in API_Control_SetPos function.
- Improved the way memory is allocated, reduces memory usage and crashes.
- Keyboard and mouse bug fixed.
- The maximum number of check slots is extended to 100.
- Added functions to remove menus and menu items.
- Added a function to remove a window from a check slot.

Update to version 1.7.5.0
- Reduced virtual memory usage from 500 mb to 95 mb.
- Improved the way control IDs are generated, instead of increasing a number every time, it checks wether a control is deleted, so it can use the ID of a deleted item.
- Added a function to enable controls to be placed into the game window. (See Global control help in the help file)
- Added support for extended window styles in the last argument of every control creation function, this enables you to get the blue XP styled border using WS_EX_CLIENTEDGE, instead of the black WS_BORDER which made the controls look older.

Note! The DLL is not backwards compatible with older scripts anymore, caused to the new arguments in all control creation functions.
So you need to update all older scripts.


- Added a function to change the background color of Statics, Buttons, Radios, Checkboxes, Listboxes, Listviews, Animations, Trackbars, Calendars, Comboboxes and Treeviews.
- Added a function to change the text color of Statics, Listboxes, Comboboxes, Treeviews, Listviews, Calendars and Edits.

Update to version 1.8.0.0
- Fixed the API_Menu_DestroyMenu function.
- Added a function to show a popup menu.
- Fixed the statusbar, it resizes now with the window.
- Fixed the game maker window support
- Fixed the functions to change the control colors

Edited by h0bbel, 19 September 2013 - 06:39 PM.

  • 2

#2 uuf6429

uuf6429

    Covac Software

  • New Member
  • 2522 posts

Posted 24 December 2006 - 05:27 PM

Do they do things such as:
read text
write text
get cursor position
get selected text
get item index
get slected item
get double clicked item
....
Coz if not then the dll is useless; alot of such dlls were made such as roach's gmww but none of them is fully working.
  • 0

#3 tangibleLime

tangibleLime

    Lunatic

  • GMC Member
  • 2520 posts
  • Version:GM:HTML5

Posted 24 December 2006 - 05:35 PM

uuf6429, I've already fixed those bugs and added many more features in the next version of GMWW (named "Sycon"). Only problem is that I can't finish the DLL until GM7 comes out.
  • 0

#4 uuf6429

uuf6429

    Covac Software

  • New Member
  • 2522 posts

Posted 24 December 2006 - 05:44 PM

hey don't worry i ain't saying i didn't like your dll!!
I loved it from the very first time i tried it, but what i was saying is that many dlls have the some of your own dll's functionality (still yes, your dll is still the largest collection of API functions) but if hobbel won't do anything new then i might as well stick with yours.
BTW: uhhm what is twinkie?
Regards,
Christian
  • 0

#5 h0bbel

h0bbel

    GMC Member

  • New Member
  • 252 posts

Posted 24 December 2006 - 07:02 PM

Yes I am planning to extend it.
But this DLL is not made to compeet with other DLLs like Roaches, it was originally made for my DLL examples like Super Video Play.
  • 0

#6 str1ker-

str1ker-

    GMC Member

  • New Member
  • 155 posts

Posted 25 December 2006 - 01:33 AM

wow, this looks nice...

so this is a dll? and it actually creates the form controls from windows?

looks like there's no more need for my library... :(
  • 0

#7 DefuzionGames

DefuzionGames

    GMC Member

  • GMC Member
  • 1435 posts
  • Version:Unknown

Posted 25 December 2006 - 01:32 PM

i dont get it? does it let you say create a message box or buttons within your gm windwo/game and use the returned values.
  • 0

#8 uuf6429

uuf6429

    Covac Software

  • New Member
  • 2522 posts

Posted 25 December 2006 - 01:54 PM

Yes but to use the returned values (called handles) you need other API calls.
  • 0

#9 DefuzionGames

DefuzionGames

    GMC Member

  • GMC Member
  • 1435 posts
  • Version:Unknown

Posted 25 December 2006 - 02:00 PM

what are api calls
  • 0

#10 uuf6429

uuf6429

    Covac Software

  • New Member
  • 2522 posts

Posted 25 December 2006 - 02:55 PM

Guess you don't know c++ or a similar language then.
Check this wikipedia page.
Now roach's gmww dll, hobbel's dll and many other dlls (such as our own IconExt) use API calls which cannot be used in gamemaker.
The dlls act as a 'program' that uses the API calls using values from a gamemaker program.

Regards,
Victor
  • 0

#11 h0bbel

h0bbel

    GMC Member

  • New Member
  • 252 posts

Posted 26 December 2006 - 11:45 AM

Update to version 1.1.0.0

- Added 9 new menu functions
- Added function to check wether window is closed
- Fixed constant memory increase bug in example
  • 0

#12 teej

teej

    The PIXEL'er

  • GMC Member
  • 841 posts
  • Version:GM8.1

Posted 26 December 2006 - 01:49 PM

It looks pretty similar with GMWW...
can the font be changed? to ones such as
the normal tahoma 8pt
  • 0

#13 Seeker

Seeker

    GMC Member

  • GMC Member
  • 366 posts

Posted 26 December 2006 - 06:59 PM

This is an outstanding piece of work so far. I can't imagine how many hours was put into it. It's much more feature rich than the others of its type right now, and it will be my interface dll of choice once a few issues are resolved.

1. The first is a polite suggestion. Some of the other dll creators did the same thing with their examples, and it really bothered me. For the example you provide, could you automatically make the second window a child window, that way people that try the example won't think that the window can't actually reside within Gamemaker's, and they won't waste your time asking about it? It would be nice if they didn't have to go searching through the scripts or help file to find the way to embed a window within Gamemaker's.

But, for those of you who want to know how to make the second window a child window, just change this in the Create event of the Controller object in the example (line 5):

Win2 = API_Window_Create(100,100,800,620,WS_CAPTION|WS_SYSMENU|WS_MINIM
IZEBOX|WS_POPUP,Win);

to this

Win2 = API_Window_Create(100,100,800,620,WS_CAPTION|WS_SYSMENU|WS_MINIM
IZEBOX|WS_CHILD,Win);

2. I only really investigated the listboxes and comboboxes at this point (because there's so much to test!), and I'm not able to get the right return values using the functions you provided. I'm only able to get the text of the first item in each control.

3. After setting Win2 as a child of the Gamemaker window and clicking on Win2, I'm not able to set the focus back to the Gamemaker window by clicking it. The only way that the window can gain focus again is if I minimize Win2 or click on one of Win2's controls that display a message.

4. The help file said something about their being an EnableWindow function, but I couldn't find one.

That's all I've found at the moment. Other than that, this is really nice. Your detailed and beautiful help file and the fact that you made an alternate example in GM5 will be appreciated by many. I just hope that you can fix these little things so I can make this my permanent interface solution. Thanks. ;)
  • 0

#14 uuf6429

uuf6429

    Covac Software

  • New Member
  • 2522 posts

Posted 26 December 2006 - 07:06 PM

Someone said listboxs?
Take a look at my c++ source found here:
The compiled dll and example is found on our downloads site at covac.co.nr
#include "dll.h"
#include <windows.h>
#include <winuser.h>
extern "C" __declspec(dllexport) __stdcall double lb_create(double hhwnd, double x1, double x2, double x3, double x4);
extern "C" __declspec(dllexport) __stdcall double lb_addend(double hwnd, LPSTR text);
extern "C" __declspec(dllexport) __stdcall double lb_destroy(double hhwnd);
extern "C" __declspec(dllexport) __stdcall double lb_count(double hhwnd);
extern "C" __declspec(dllexport) __stdcall double lb_deleteend(double hhwnd);
extern "C" __declspec(dllexport) __stdcall double lb_addpos(double hhwnd, double ps, LPSTR td);
extern "C" __declspec(dllexport) __stdcall double lb_deletepos(double hhwnd, double ps);
extern "C" __declspec(dllexport) __stdcall double lb_clear(double hhwnd);
extern "C" __declspec(dllexport) __stdcall double lb_getsel(double hhwnd);
extern "C" __declspec(dllexport) __stdcall double lb_settextpos(double hhwnd, double ps, LPSTR td);
extern "C" __declspec(dllexport) __stdcall LPSTR lb_gettextpos(double hhwnd, double ps);
extern "C" __declspec(dllexport) __stdcall double lb_dblclk(double hhwnd);
extern "C" __declspec(dllexport) __stdcall LPCSTR lb_edtext(double hhwnd1, double hhwnd2);
extern "C" __declspec(dllexport) __stdcall LPSTR lb_version(double hwnd);
extern "C" __declspec(dllexport) __stdcall double lb_create(double hhwnd, double x1, double x2, double x3, double x4)
{
      int xx=(int)(double)x1;
      int yy=(int)(double)x2;
      int ww=(int)(double)x3;
      int hh=(int)(double)x4;

      HWND nhhh=(HWND)(int)hhwnd;
      HWND stat=CreateWindowEx(WS_EX_OVERLAPPEDWINDOW,"STATIC","",WS_CHILD | WS_VISIBLE | SS_GRAYRECT,xx,yy,ww,hh,nhhh,NULL,NULL,NULL);
      HWND lbox=CreateWindowEx(WS_EX_OVERLAPPEDWINDOW,"LISTBOX","",
      WS_TABSTOP | LBS_NOTIFY | LBS_DISABLENOSCROLL | LBS_HASSTRINGS | LBS_USETABSTOPS | WS_HSCROLL | WS_VSCROLL | WS_CHILD | WS_VISIBLE,-2,-2,ww,hh,stat,NULL,NULL,NULL);
      return (int)(HWND)lbox;
};
extern "C" __declspec(dllexport) __stdcall double lb_addend(double hhwnd, LPSTR text)
{
      HWND nhhh=(HWND)(int)hhwnd;
      return (int)SendMessage(nhhh, LB_ADDSTRING, 0, (LPARAM) (LPCTSTR)(LPSTR)text);
};
extern "C" __declspec(dllexport) __stdcall double lb_destroy(double hhwnd)
{
      HWND nhhh=(HWND)(int)hhwnd;
      DestroyWindow(GetParent(nhhh));
      DestroyWindow(nhhh);
      return (int)0;
};
extern "C" __declspec(dllexport) __stdcall double lb_count(double hhwnd)
{
      HWND nhhh=(HWND)(int)hhwnd;
      return (int)SendMessage(nhhh,LB_GETCOUNT,0,0);
};
extern "C" __declspec(dllexport) __stdcall double lb_deleteend(double hhwnd)
{
      HWND nhhh=(HWND)(int)hhwnd;
      int end=(int)SendMessage(nhhh,LB_GETCOUNT,0,0);
      SendMessage(nhhh,LB_DELETESTRING,(WPARAM)(int)end-1,0)-1;
      return (int)0;
};
extern "C" __declspec(dllexport) __stdcall double lb_addpos(double hhwnd, double ps, LPSTR td)
{
      HWND nhhh=(HWND)(int)hhwnd;
      int pos=(int)ps+1;
      LPSTR text=(LPSTR)td;
      SendMessage(nhhh,LB_INSERTSTRING,(WPARAM)(int)pos,(LPARAM) (LPCTSTR)(LPSTR)text);
      return (int)0;
};
extern "C" __declspec(dllexport) __stdcall double lb_deletepos(double hhwnd, double ps)
{
      HWND nhhh=(HWND)(int)hhwnd;
      int pos=(int)ps;
      SendMessage(nhhh,LB_DELETESTRING,(WPARAM)(int)pos,0);
      return (int)0;
};
extern "C" __declspec(dllexport) __stdcall double lb_clear(double hhwnd)
{
      HWND nhhh=(HWND)(int)hhwnd;
      SendMessage(nhhh,LB_RESETCONTENT,0,0);
      return (int)0;
};
extern "C" __declspec(dllexport) __stdcall double lb_getsel(double hhwnd)
{
      HWND nhhh=(HWND)(int)hhwnd;
      return (int)SendMessage(nhhh,LB_GETCURSEL,0,0);
};
extern "C" __declspec(dllexport) __stdcall double lb_settextpos(double hhwnd, double ps, LPSTR td)
{
      HWND nhhh=(HWND)(int)hhwnd;
      int pos=(int)(double)ps;
      LPSTR text=td;
      MessageBox(nhhh,"The function 'lb_settextpos' didn't work correctly. So, please report this problem to Covac.","Covac Listbox DLL warning.& #34;,MB_OK|MB_ICONWARNING|MB_DEFBUTTON1|MB_SYSTEMM
ODAL);
      return (int)0;
};
extern "C" __declspec(dllexport) __stdcall LPSTR lb_gettextpos(double hhwnd, double ps)
{
      HWND nhhh=(HWND)(int)hhwnd;
      int pos=(int)ps;
      static CHAR mybuf[1024];
      SendMessage(nhhh,LB_GETTEXT,(WPARAM)(int)pos,(LPARAM)(LPSTR)mybuf);
      return (LPSTR)mybuf;       
};
extern "C" __declspec(dllexport) __stdcall double lb_dblclk(double hhwnd)
{
      HWND nhhh=(HWND)(int)hhwnd;
      int pos=(int)hhwnd;
      return (double)SendMessage(nhhh,LBN_DBLCLK,(WPARAM)(int)pos,(LPARAM)(HWND)nhhh);
};
extern "C" __declspec(dllexport) __stdcall LPCSTR lb_edtext(double hhwnd1, double hhwnd2)
{
      HWND nhhh1=(HWND)(int)hhwnd1;
      int nhhh2=(int)hhwnd2;
      static CHAR mybuf[1024];
      GetWindowText(nhhh1,mybuf,nhhh2);
      return (LPCSTR)mybuf;
};
extern "C" __declspec(dllexport) __stdcall LPSTR lb_version(double hwnd)
{
      return (LPSTR)"v2300";
};
I'm positive it is perfect.
Regards and merry xmas,
Victor

Edited by uuf6429, 26 December 2006 - 07:08 PM.

  • 0

#15 h0bbel

h0bbel

    GMC Member

  • New Member
  • 252 posts

Posted 26 December 2006 - 07:24 PM

The help file said something about their being an EnableWindow function, but I couldn't find one.

This is caused by the fact the window style flag descriptions are copied from the MSDN database, because i made the constant names the same in my DLL as they are in C++.
Building my own descriptions for every style flag would kill me ;) .
I have to filter all C++ related descriptions the help file has, but this can take a while, because making this help file costs many time.
  • 0

#16 h0bbel

h0bbel

    GMC Member

  • New Member
  • 252 posts

Posted 28 December 2006 - 08:36 AM

I only really investigated the listboxes and comboboxes at this point (because there's so much to test!), and I'm not able to get the right return values using the functions you provided. I'm only able to get the text of the first item in each control.


Thanks to mention that.

The help of the getstring functions of the listboxes and comboboxes is wrong.
This is how it should be described:

String API_Combobox_GetString (Real Control ID, Real Item ID );
This function returns the selected string.

String API_Listbox_GetString (Real Control ID, Real Item ID );
This function gets the selected string from the listbox

Edited by h0bbel, 28 December 2006 - 03:24 PM.

  • 0

#17 str1ker-

str1ker-

    GMC Member

  • New Member
  • 155 posts

Posted 28 December 2006 - 12:45 PM

im sorry, but are these controls really windows controls, or just really good imitations? i ask because the textbox doesnt allow anymore characters in it than its own size will accomodate...
  • 0

#18 h0bbel

h0bbel

    GMC Member

  • New Member
  • 252 posts

Posted 28 December 2006 - 03:19 PM

im sorry, but are these controls really windows controls, or just really good imitations?  i ask because the textbox doesnt allow anymore characters in it than its own size will accomodate...

<{POST_SNAPBACK}>


This are real windows controls, you have to use the ES_AUTOHSCROLL style flag for the edit control.
  • 0

#19 Seeker

Seeker

    GMC Member

  • GMC Member
  • 366 posts

Posted 28 December 2006 - 04:31 PM

Thanks to mention that.

The help of the getstring functions of the listboxes and comboboxes is wrong.
This is how it should be described:

String API_Combobox_GetString (Real Control ID, Real Item ID );
This function returns the selected string.

String API_Listbox_GetString (Real Control ID, Real Item ID );
This function gets the selected string from the listbox

<{POST_SNAPBACK}>


Thanks. Now I can get the text from both the combobox and the listbox by supplying the id of an item in each one. But now there's the problem of actually getting that item id. The GetSel() methods for each control are only returning 0. I know a way of getting around that, by using an array to store an id-string association when using the AddString() method for each control, but I'm sure you can fix this little problem.
  • 0

#20 h0bbel

h0bbel

    GMC Member

  • New Member
  • 252 posts

Posted 29 December 2006 - 12:29 PM


...


Thanks. Now I can get the text from both the combobox and the listbox by supplying the id of an item in each one. But now there's the problem of actually getting that item id. The GetSel() methods for each control are only returning 0. I know a way of getting around that, by using an array to store an id-string association when using the AddString() method for each control, but I'm sure you can fix this little problem.

<{POST_SNAPBACK}>


Thanks for telling that, i did not test the whole DLL.
With the listbox i can get the selection, but with the comobobox not.
I will try to fix that combobox bug.

Note that the first selected item returned is 0 (zero based value).
  • 0

#21 h0bbel

h0bbel

    GMC Member

  • New Member
  • 252 posts

Posted 29 December 2006 - 12:33 PM


...

...


Thanks for telling that, i did not test the whole DLL.
With the listbox i can get the selection, but with the comobobox not.
I will try to fix that combobox bug.

Note that the first selected item returned is 0 (zero based value).

<{POST_SNAPBACK}>


Ok, already found the problem. :P
The problem of the functions API_Combobox_GetSel and API_Listbox_GetSel is that they have 2 arguments in the external_call function while the DLL function has only 1.
This causes Game Maker to fail in DLL calling.
This is just a littl mistake of me :P
I will upload it now with the fixed examples and scripts.

Edited by h0bbel, 29 December 2006 - 12:34 PM.

  • 0

#22 Brandnew

Brandnew

    GMC Member

  • New Member
  • 57 posts

Posted 29 December 2006 - 05:13 PM

is there anyway of making a transparent background? or drawing over the api window?
thanks :P

Edited by Brandnew, 29 December 2006 - 05:45 PM.

  • 0

#23 h0bbel

h0bbel

    GMC Member

  • New Member
  • 252 posts

Posted 29 December 2006 - 06:05 PM

is there anyway of making a transparent background? or drawing over the api window?
thanks :)

<{POST_SNAPBACK}>


Drawing a bitmap over the api window would be possible.
  • 0

#24 Seeker

Seeker

    GMC Member

  • GMC Member
  • 366 posts

Posted 29 December 2006 - 06:33 PM

Thank you for fixing those. The combobox and listbox work perfectly now. All of the controls that I see myself needing for my next project seem to be in order. The only problem I encountered this time was the new .gm6 example had a gml error in the creation of the Win2 instance. In the .gm6 code, you had the variables 'window_left', 'window_top', etc. which are only available in prior versions. (Sorry, I know it was a little slip and how frustrating it can be when you work so hard on something and upload it, only for an annoying little error to pop up, forcing you to have to upload the entire thing again...and again. :))

I just have one question right now. Do you plan on creating a visual designer for this? If not, I can build my own version and maybe pass it your way for inspection, and you can see if it's suitable for a release here. If you're wondering if I'm capable of such a task, you can check out the source file that is provided with the program in my signature. Also, I had just about finished creating a visual designer for Roach's GMWW, but I didn't consider sharing it with him or anyone until he released the next version of his dll. But if you would like to see the approach I was taking in creating that designer, I can send you the source file I have right now. I know you can do a designer yourself, but it might be nice if you didn't have to do so much work.
  • 0

#25 h0bbel

h0bbel

    GMC Member

  • New Member
  • 252 posts

Posted 29 December 2006 - 07:12 PM

Thank you for fixing those.  The combobox and listbox work perfectly now.  All of the controls that I see myself needing for my next project seem to be in order.  The only problem I encountered this time was the new .gm6 example had a gml error in the creation of the Win2 instance.  In the .gm6 code, you had the variables 'window_left', 'window_top', etc. which are only available in prior versions.  (Sorry, I know it was a little slip and how frustrating it can be when you work so hard on something and upload it, only for an annoying little error to pop up, forcing you to have to upload the entire thing again...and again. :))

I just have one question right now.  Do you plan on creating a visual designer for this?  If not, I can build my own version and maybe pass it your way for inspection, and you can see if it's suitable for a release here.  If you're wondering if I'm capable of such a task, you can check out the source file that is provided with the program in my signature.  Also, I had just about finished creating a visual designer for Roach's GMWW, but I didn't consider sharing it with him or anyone until he released the next version of his dll.  But if you would like to see the approach I was taking in creating that designer, I can send you the source file I have right now.  I know you can do a designer yourself, but it might be nice if you didn't have to do so much work.

<{POST_SNAPBACK}>


Haha, i make my project from gm5 and if i'm done i load it into gm6 and make a .gm6 example, thats why the window_left vars are there, i forgot to make numbers of them. :)
But what do you mean with a visual designer ?
Like a window form editor using WS_SIZEBOX style for every control?
That reminds me i have to make functions for getting/setting positions of controls, and making a function to get the window handle from a control ID.
But i'm working on dialogs like open/save file and about boxes now for the new version.
  • 0

#26 Seeker

Seeker

    GMC Member

  • GMC Member
  • 366 posts

Posted 29 December 2006 - 07:55 PM

With the visual designer, I'm thinking about a drag-and-drop system for placing form controls. You can position the controls and open properties boxes to set their attributes. The program will automatically generate the gml code needed so the user can just import that into their program, decreasing the amount of code they have to manually write.

For that, I would need for the dll to have those extra functions you just mentioned (getting the position and updating the position of a control), a function that can destroy any control, a function to get/set the focus of a control/window, and if possible, a function to edit a control that is already created (otherwise, I can do a workaround). I can send you the designer I started working on for Roach's dll if you want, so you can see what I was aiming for.
  • 0

#27 h0bbel

h0bbel

    GMC Member

  • New Member
  • 252 posts

Posted 29 December 2006 - 11:03 PM

With the visual designer, I'm thinking about a drag-and-drop system for placing form controls.  You can position the controls and open properties boxes to set their attributes.  The program will automatically generate the gml code needed so the user can just import that into their program, decreasing the amount of code they have to manually write.

For that, I would need for the dll to have those extra functions you just mentioned (getting the position and updating the position of a control), a function that can destroy any control, a function to get/set the focus of a control/window, and if possible, a function to edit a control that is already created (otherwise, I can do a workaround).  I can send you the designer I started working on for Roach's dll if you want, so you can see what I was aiming for.

<{POST_SNAPBACK}>


Sounds nice. :)
I will pause the creation of the dialogs for the new version and will add the positioning/updating/focusing functions to the DLL.
  • 0

#28 Seeker

Seeker

    GMC Member

  • GMC Member
  • 366 posts

Posted 30 December 2006 - 02:23 AM

Awesome. Thanks.
  • 0

#29 h0bbel

h0bbel

    GMC Member

  • New Member
  • 252 posts

Posted 30 December 2006 - 01:32 PM

Update to version 1.1.5.0

- Added functions to set/get position of controls.
- Added function to set the focus to a control.
- Added function to destroy a control.
- Added function to get the window handle of a control.
- Added function to easily make a about box with bitmap.
- Added function for save/open file dialogs with more options than the standard.
  • 0

#30 h0bbel

h0bbel

    GMC Member

  • New Member
  • 252 posts

Posted 30 December 2006 - 01:34 PM

Awesome.  Thanks.

<{POST_SNAPBACK}>


You can find the doc. of the control functions in "Global control help".
  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users