LB Booster
« Impressed »

Welcome Guest. Please Login or Register.
Apr 1st, 2018, 04:55am



ATTENTION MEMBERS: Conforums will be closing it doors and discontinuing its service on April 15, 2018.
We apologize Conforums does not have any export functions to migrate data.
Ad-Free has been deactivated. Outstanding Ad-Free credits will be reimbursed to respective payment methods.

Thank you Conforums members.
Speed up Liberty BASIC programs by up to ten times!
Compile Liberty BASIC programs to compact, standalone executables!
Overcome many of Liberty BASIC's bugs and limitations!
LB Booster Resources
LB Booster documentation
LB Booster Home Page
LB Booster technical Wiki
Just BASIC forum
BBC BASIC Home Page
Liberty BASIC forum (the original)

« Previous Topic | Next Topic »
Pages: 1  Notify Send Topic Print
 thread  Author  Topic: Impressed  (Read 723 times)
Sean
New Member
Image


member is offline

Avatar




PM


Posts: 6
xx Impressed
« Thread started on: Jun 21st, 2014, 10:13am »

I have a spreadsheet program that I wrote called MultiSpred. I use my own 'database' which is parsing strings with special characters denoting placemarkers for values in the string array. If you have come across Pick/Multivalue systems, you will know what I tried to do here. Anyway, to truly test the speed of the program, I used a spreadsheet containing lottery results, 960 rows by 30 columns, crammed with data. Before, to load the spreadsheet took a while and you could see the rows and columns being painted.
Now, with LBB, I selected the file and 1 second later it was loaded. Even faster than a version I created using a dll I wrote in FreeBasic.
I am very impressed. I wanted to share my code so you see the before and after result, alas, no attachments allowed.
So I just wanted to give you a high five.
User IP Logged

Sean
New Member
Image


member is offline

Avatar




PM


Posts: 6
xx Text editor does not wraplines
« Reply #1 on: Jun 22nd, 2014, 1:35pm »

Richard, I saw that my text editor in the program above does not wrap lines. I used _ES_MULTILINE as a style bit originally, I tried what you suggested in another post. Still does not work. Any suggestions?
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1348
xx Re: Text editor does not wraplines
« Reply #2 on: Jun 22nd, 2014, 3:34pm »

on Jun 22nd, 2014, 1:35pm, Sean wrote:
Richard, I saw that my text editor in the program above does not wrap lines. I used _ES_MULTILINE as a style bit originally, I tried what you suggested in another post. Still does not work. Any suggestions?

I don't know what you tried, but word-wrap is trivial in LBB:

Code:
texteditor #w.te, 10, 10, 280, 280
stylebits #w.te, 0, _ES_AUTOHSCROLL or _WS_HSCROLL, 0, 0
open "Wordwrap test" for window as #w
wait 

Richard.
User IP Logged

Sean
New Member
Image


member is offline

Avatar




PM


Posts: 6
xx Re: Impressed
« Reply #3 on: Jun 23rd, 2014, 10:45am »

Here is where I tried _ES_AUTOHSCROLL or _WS_HSCROLL

Code:
 
    sub EditWindow
       if EditOpen then
          call QuitFullEdit "#fulledit"
          if EditOpen then exit sub
       end if
       EditOpen = TRUE
       EditSave = FALSE
       Title$ = "Full Edit"
       WindowWidth = 595
       WindowHeight = 668 'DisplayHeight-100
       UpperLeftX=int((DisplayWidth - WindowWidth) / 2)
       UpperLeftY=int((DisplayHeight-WindowHeight)/2)
    
       Menu #fulledit,"&File","&Save",EditSave,"&Exit",QuitEditFromMenu
       Menu #fulledit, "&Edit", "&Cut      Ctrl+X", Cut,_
        "C&opy    Ctrl+C", Copy, "&Paste   Ctrl+V", Paste,_
        "&Undo    Ctrl+Z", Undo,"C&lear",Clear,|,_
        "&Select All",SelectAll
        open Title$ for window as #fulledit
        print #fulledit, "trapclose QuitFullEdit"
        print #fulledit, "resizehandler EditResize"
 
        hT=CreateTextEdit(hwnd(#fulledit), 1, 1, WindowWidth-10, WindowHeight-10)
        call SetFocus hT
 
        call SetWindowText hT,cellval$
        hFont=CreateFont("courier new",16)
        ret = SendMessageLong(hT,_WM_SETFONT,hFont,1)
    end sub

   Function CreateTextEdit(hW, x, y, w, h)
        style = _WS_CHILDWINDOW OR _WS_BORDER _
        OR _WS_VISIBLE or _ES_MULTILINE
' ---------  tried putting _ES_AUTOHSCROLL or _WS_HSCROLL here, 
'             but did not work
        hInst=GetWindowLong(hW, _GWL_HINSTANCE)
    
        calldll #user32, "CreateWindowExA",_
            0 as long,"EDIT" as ptr,_
            "" as ptr, style as long,_
            x as long,y as long,w as long,h as long,_
            hW as long, 0 as long, hInst as ulong,_
            0 as long, CreateTextEdit as ulong
    end function
 
« Last Edit: Jun 23rd, 2014, 10:45am by Sean » User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1348
xx Re: Impressed
« Reply #4 on: Jun 23rd, 2014, 7:23pm »

on Jun 23rd, 2014, 10:45am, Sean wrote:
Here is where I tried _ES_AUTOHSCROLL or _WS_HSCROLL but did not work

Of course it didn't - you're using a totally different set of STYLEBITS (study the code I listed and you will see that those two bits are being turned off, not on)!

Why are you using an API call rather than the native LB code I listed? If you must use an API call - which I don't recommend - you are on your own and will need to consult MSDN.

Richard.

User IP Logged

Sean
New Member
Image


member is offline

Avatar




PM


Posts: 6
xx Re: Impressed
« Reply #5 on: Jun 24th, 2014, 12:30am »

No, the above code works fine using normal LB.

However after some googling, I found this solution
style = _WS_CHILDWINDOW OR _WS_BORDER OR _WS_VISIBLE OR _ES_MULTILINE OR _ES_WANTRETURN OR _WS_VSCROLL

The _ES_WANTRETURN did the trick and the _WS_VSCROLL gives me vertical scrollbars
« Last Edit: Jun 24th, 2014, 01:10am by Sean » User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1348
xx Re: Impressed
« Reply #6 on: Jun 24th, 2014, 1:36pm »

on Jun 24th, 2014, 12:30am, Sean wrote:
No, the above code works fine using normal LB.

To reiterate, LB's TEXTEDITOR is not a standard Windows GUI control, therefore it will not respond to STYLEBITS as you might expect. In particular, LB's texteditor cannot do wordwrap at all.

LBB's TEXTEDITOR is a standard Windows GUI control, therefore it will respond to STYLEBITS as documented in MSDN, including wordwrap if the style is carefully chosen.

The LBB code I listed works by clearing two of the STYLEBITS which are otherwise set by default when a TEXTEDITOR is created.

Richard.
User IP Logged

Pages: 1  Notify Send Topic Print
« Previous Topic | Next Topic »

| |

This forum powered for FREE by Conforums ©
Terms of Service | Privacy Policy | Conforums Support | Parental Controls