I was inspired by Danny's Fbsl_Ide Special Edition based on CS30.dll.
I'm trying to learn GUI. It's much easier to start with some existing code than from scratch, so i took liberty to reuse Danny's script (thanks) . I made few changes to enable multiple tabs. I added option "compile with includes". I'm not very familiar with GUI, I'm sure things can be done much better.
There are some problems. Menus change color, tooltips disappear,
I don't know how to destroy "codesense" control...
I tested program on Windows XP only.
To unregister the control add this line to your exit routine:
- Code: Select all
I worked little on my version of "CS30.dll" based FBSL editor.
I like to reuse existing software.
CS30.dll enables "column mode select", window splitting and lot of other
editing possibilities. I included a help page with list of editor keyboard and mouse functions.
My added features are:
-possibility to open multiple files
-detecting of supported file types(fbs/inc,htm/html,xml,c,pas,bas,sql,java/js)
-compile with includes - merges script with all includes and compiles it
-open includes - opens all files which are included in current script
-save all and run 1st - saves all changed files and starts first script
Frame, Client, and Child Windows
An MDI application has three kinds of windows: a frame window, an MDI client window, as well as a number of child windows.
AcE wrote:Hi !
Can you add a Screenshot on the start post
, for other guys on the board
Thks a lot
ID_New = 101
Dim %MainMenu = CreateMenu()
Dim %FileMenu = CreateMenu()
Dim %WindowMenu = CreateMenu()
AppendMenu(FileMenu, MF_STRING, ID_New, "&New")
AppendMenu(WindowMenu, MF_STRING, ID_TileHorizontal, "Tile &Horizontal")
AppendMenu(WindowMenu, MF_STRING, ID_TileVertical, "Tile &Vertical")
AppendMenu(WindowMenu, MF_STRING, ID_Cascade, "&Cascade")
AppendMenu(WindowMenu, MF_STRING, ID_ArrangeIcons , "&Arrange Icons")
AppendMenu(MainMenu, MF_POPUP, FileMenu, "&File")
AppendMenu(MainMenu, MF_POPUP, WindowMenu, "&Window")
MDIForm("My MDI Form", 100, 100, 600, 400, MainMenu, WindowMenu)
Dim %myToolbar=Fbsl_Control("ToolbarWindow32", Me, "", 0, 2,2, 596,30, WS_CHILD + WS_VISIBLE , 0)
Dim %myButton=Fbsl_Control("Button", myToolbar, "Close", ID_Close, 2,2, 60,26,WS_CHILD + WS_TABSTOP + WS_VISIBLE + BS_DEFPUSHBUTTON, WS_EX_TRANSPARENT )
Select Case CBMSG
If CBLPARAM = 0 Then
Select Case CBWPARAM
MDIChildForm("Child " & incr(no))
MDITile(MDITILE_HORIZONTAL BOR MDITILE_SKIPDISABLED)
MDITile(MDITILE_VERTICAL BOR MDITILE_SKIPDISABLED)
'*********** EVENT Handlers *********************************
function myClose(byVal %winHandle)
If winHandle<>Me Then
MsgBox(Null, "Closing child",_
"Close", MB_OK + MB_ICONINFORMATION + MB_SYSTEMMODAL )
MsgBox(Null, "Exiting main program",_
"Exit", MB_OK + MB_ICONINFORMATION + MB_SYSTEMMODAL )
Function myResize(byVal %winHandle=Me)
Dim %TopWin, %leftWin,%RightWin, %BottomWin
GetClientRect(winHandle, TopWin, leftWin, RightWin, BottomWin )
If winHandle=Me Then
Resize(myToolbar, 2,2,RightWin-4, 30)
MsgBox(Null, "Resizing child",_
"Resize", MB_OK + MB_ICONINFORMATION + MB_SYSTEMMODAL )
Mike Lobanovsky wrote:Dear Ferdinand,
I've found the way to automate resizing of 1 toolbar (wrappable or not) and 1 status bar if they are added to the MDI frame (MDIForm). No rebars or side panels are supported yet.
I'm currently adding quite a few drawing primitives to the FBSL syntax and as soon as I'm through with this, Gerome will post a new build (I hope this will be on Monday).
I prepared a short MDI template for you to learn how to properly create and handle a standard toolbar. I'll post it here when the new build is out.
Mike Lobanovsky wrote:You'll add the code from your editor to this template little by little and debug it and proceed only after the previous debugging is over. You'll notify us about your progress and we'll help if you need it.
It'll be the most constructive way to debug your editor code. So far it's almost inoperative, sorry.
. Ok I guess it would have been an early version of VB i was thinking of. I remember something about adding children and removing them in reverse order as the program was shut down.Please don't mix VB MDI structure and Windows MDI.
Users browsing this forum: No registered users and 1 guest