| 
 
| 
|  Author | Topic: A Better Way?  (Read 824 times) |  |  
| 
| 
| CharlesB New Member
 
 
 member is offline
 
  
 
 
 
 
  
 Gender:
  Posts: 46
 
 | 
|  | A Better Way? « Thread started on: Mar 13th, 2015, 8:24pm »
 |  |  I have a menu of sorts in my program and the user must pick one option.
 
 I looked at the tutorial and think that this "pick the number" method is the best, for I have two many options for the "hit an alpha key."
 
 Yet, I think that you'll agree that this is awkward.
 Does anyone have a better suggestion for me?
 
 I think that this explains itself; the user is working a quotation program for tubing with cutting options.
 Thanks.
 I know that for even intermediate programmers this will seem very crude.
 
 
 DEF PROC_AskForFeetOrPieces
 PRINT
 COLOUR(12)
 PRINT "This quotation is for 1) Normal uncut tubing footage?"
 PRINT "                      2) Saw-Cut Tubing in inch lengths?"
 PRINT "                      3) Saw-Cut Tubing in foot lengths?"
 PRINT "                      4) Core-Cut Tubing in inch lengths?"
 PRINT "                      5) Core-Cut Tubing in foot lengths?"
 PRINT "                      6) Lathe-Cut Tubing in inch lengths?"
 PRINT "                      7) Lathe-Cut Tubing in foot lengths?"
 PRINT "                      8) Other type of fabrication?"
 INPUT:
 COLOUR(0)
 FeetOrPieces$ = GET$
 
 FeetPieces% = VAL(FeetOrPieces$)
 IF FeetPieces%=0 THEN
 PRINT "Oops . . . try again"
 ENDIF
 ENDPROC
 
 
 
 
 
 
 |  
| 
| « Last Edit: Mar 13th, 2015, 8:25pm by CharlesB » |  Logged |  
 |  |  |  
| 
| 
| Richey New Member
 
 
 member is offline
 
  
 
 
 
 
  
 Gender:
  Posts: 35
 
 | 
|  | Re: A Better Way? « Reply #1 on: Mar 13th, 2015, 9:31pm »
 |  |  on Mar 13th, 2015, 8:24pm, CharlesB  wrote:
 | | I have a menu of sorts in my program and the user must pick one option. 
 I looked at the tutorial and think that this "pick the number" method is the best, for I have two many options for the "hit an alpha key."
 
 Yet, I think that you'll agree that this is awkward.
 Does anyone have a better suggestion for me?
 
 I think that this explains itself; the user is working a quotation program for tubing with cutting options.
 Thanks.
 I know that for even intermediate programmers this will seem very crude.
 
 
 DEF PROC_AskForFeetOrPieces
 PRINT
 COLOUR(12)
 PRINT "This quotation is for 1) Normal uncut tubing footage?"
 PRINT "                      2) Saw-Cut Tubing in inch lengths?"
 PRINT "                      3) Saw-Cut Tubing in foot lengths?"
 PRINT "                      4) Core-Cut Tubing in inch lengths?"
 PRINT "                      5) Core-Cut Tubing in foot lengths?"
 PRINT "                      6) Lathe-Cut Tubing in inch lengths?"
 PRINT "                      7) Lathe-Cut Tubing in foot lengths?"
 PRINT "                      8) Other type of fabrication?"
 INPUT:
 COLOUR(0)
 FeetOrPieces$ = GET$
 
 FeetPieces% = VAL(FeetOrPieces$)
 IF FeetPieces%=0 THEN
 PRINT "Oops . . . try again"
 ENDIF
 ENDPROC
 
 
 
 
 
 
 | 
 | 
 
 Hi Charles
 
 I'm a beginner myself but I think the CASE statement is probably an appropriate alternative for you to use when presenting a menu of different options:
 
 See this chapter in the beginners tutorial -
 
 http://bbcbasic.co.uk/bbcwin/tutorial/chapter10.html
 
 
 |  
| 
|  |  Logged |  
 |  |  |  
| 
| 
| CharlesB New Member
 
 
 member is offline
 
  
 
 
 
 
  
 Gender:
  Posts: 46
 
 | 
|  | Re: A Better Way? « Reply #2 on: Mar 14th, 2015, 03:08am »
 |  |  Thanks Richey
 |  
| 
|  |  Logged |  
 |  |  |  
| 
| 
| sveinioslo Developer
 
 member is offline
 
  
 
 
 
 
  
 
 Posts: 64
 
 | 
|  | Re: A Better Way? « Reply #3 on: Mar 18th, 2015, 11:41am »
 |  |  It is a good investment to spend a few days into learning about dialog boxes.
 
 From the manual:
 "The WINLIB2 library contains a set of procedures and functions for creating and controlling custom dialogue boxes. These allow you to adopt the preferred Windows™ method of requesting input from the user."
 
 Here you have three runnable examples, just to get you started.
 
 Svein
 
 Using listbox:
 Code:
       LB_GETCURSEL = 392
      LB_ADDSTRING = 384
      INSTALL @lib$+"winlib2"
      REM create dialogbox ----------------------------------------
      dlg% = FN_newdialog("Select cutting",100,100,180,120,8,500)
      PROC_listbox(dlg%,"",100,10,10,160,90,0)
      PROC_pushbutton(dlg%,"Ok",1,20,95,50,16,0)
      PROC_pushbutton(dlg%,"Cancel",2,110,95,50,16,0)
      PROC_showdialog(dlg%)
      REM create dialogbox ----------------------------------------
      REM fill listbox --------------------------------------------
      READ text$
      REPEAT
        SYS "SendDlgItemMessage", !dlg%, 100, LB_ADDSTRING, 0, text$
        READ text$
      UNTIL text$=".."
      REM fill listbox --------------------------------------------
      REM read user selection -------------------------------------
      Click% = 0
      ON SYS Click% = @wparam% : RETURN
      REPEAT WAIT 1
        click% = 0
        SWAP click%,Click%
        IF click% = 1 THEN
          SYS "SendDlgItemMessage", !dlg%, 100, LB_GETCURSEL, 0, 0 TO FeetPieces%
          PRINT "User selected ";FeetPieces%
        ENDIF
        IF click% = 2 THEN PROC_closedialog(dlg%) : END
      UNTIL !dlg% = 0
      END
      REM read user selection -------------------------------------
      DATA "     This quotation is for:"
      DATA " 1)  Normal uncut tubing footage?"
      DATA " 2)  Saw-Cut Tubing in inch lengths?"
      DATA " 3)  Saw-Cut Tubing in foot lengths?"
      DATA " 4)  Core-Cut Tubing in inch lengths?"
      DATA " 5)  Core-Cut Tubing in foot lengths?"
      DATA " 6)  Lathe-Cut Tubing in inch lengths?"
      DATA " 7)  Lathe-Cut Tubing in foot lengths?"
      DATA " 8)  Other type of fabrication?"
      DATA ".."
 Using combobox:
 Code:
       CB_SETCURSEL = 334
      CB_ADDSTRING = 323
      CB_GETCURSEL = 327
      CBS_DROPDOWNLIST = 3
      INSTALL @lib$+"winlib2"
      REM create dialogbox ----------------------------------------
      dlg% = FN_newdialog("Select cutting",100,100,180,120,8,500)
      PROC_combobox(dlg%,"",100,10,10,160,90,CBS_DROPDOWNLIST)
      PROC_pushbutton(dlg%,"Ok",1,20,95,50,16,0)
      PROC_pushbutton(dlg%,"Cancel",2,110,95,50,16,0)
      PROC_showdialog(dlg%)
      REM create dialogbox ----------------------------------------
      REM fill combobox --------------------------------------------
      READ text$
      REPEAT
        SYS "SendDlgItemMessage", !dlg%, 100, CB_ADDSTRING, 0, text$
        READ text$
      UNTIL text$=".."
      SYS "SendDlgItemMessage", !dlg%, 100, CB_SETCURSEL, 0, 0
      REM fill combobox --------------------------------------------
      REM read user selection -------------------------------------
      Click% = 0
      ON SYS Click% = @wparam% : RETURN
      REPEAT WAIT 1
        click% = 0
        SWAP click%,Click%
        IF click% = 1 THEN
          SYS "SendDlgItemMessage", !dlg%, 100, CB_GETCURSEL, 0, 0 TO FeetPieces%
          PRINT "User selected ";FeetPieces%
        ENDIF
        IF click% = 2 THEN PROC_closedialog(dlg%) : END
      UNTIL !dlg% = 0
      END
      REM read user selection -------------------------------------
      DATA "     This quotation is for:"
      DATA " 1)  Normal uncut tubing footage?"
      DATA " 2)  Saw-Cut Tubing in inch lengths?"
      DATA " 3)  Saw-Cut Tubing in foot lengths?"
      DATA " 4)  Core-Cut Tubing in inch lengths?"
      DATA " 5)  Core-Cut Tubing in foot lengths?"
      DATA " 6)  Lathe-Cut Tubing in inch lengths?"
      DATA " 7)  Lathe-Cut Tubing in foot lengths?"
      DATA " 8)  Other type of fabrication?"
      DATA ".."
 Using radiobuttons:
 Code:
       INSTALL @lib$+"winlib2"
      REM create dialogbox ----------------------------------------
      dlg% = FN_newdialog("Select cutting",100,100,180,140,8,1100)
      READ text$
      PROC_static(dlg%,text$,100,10,10,160,10,0)
      Y%=1
      READ text$
      REPEAT
        PROC_radiobutton(dlg%,text$,100+Y%,20,10+Y%*10,160,10,0)
        Y%+=1
        READ text$
      UNTIL text$=".."
      PROC_pushbutton(dlg%,"Ok",1,20,110,50,16,0)
      PROC_pushbutton(dlg%,"Cancel",2,110,110,50,16,0)
      PROC_showdialog(dlg%)
      REM create dialogbox ----------------------------------------
      REM read user selection -------------------------------------
      Click% = 0
      ON SYS Click% = @wparam% : RETURN
      REPEAT WAIT 1
        click% = 0
        SWAP click%,Click%
        IF click% = 1 THEN
          FeetPieces%=0
          FOR I%=1 TO 8
            SYS "IsDlgButtonChecked", !dlg%, 100+I% TO state%
            IF state%=1 THEN FeetPieces%=I%
          NEXT I%
          PRINT "User selected ";FeetPieces%
        ENDIF
        IF click% = 2 THEN PROC_closedialog(dlg%) : END
      UNTIL !dlg% = 0
      END
      REM read user selection -------------------------------------
      DATA "     This quotation is for:"
      DATA " 1)  Normal uncut tubing footage?"
      DATA " 2)  Saw-Cut Tubing in inch lengths?"
      DATA " 3)  Saw-Cut Tubing in foot lengths?"
      DATA " 4)  Core-Cut Tubing in inch lengths?"
      DATA " 5)  Core-Cut Tubing in foot lengths?"
      DATA " 6)  Lathe-Cut Tubing in inch lengths?"
      DATA " 7)  Lathe-Cut Tubing in foot lengths?"
      DATA " 8)  Other type of fabrication?"
      DATA ".."
 
 
 |  
| 
|  |  Logged |  
 |  |  |  
| 
| 
| CharlesB New Member
 
 
 member is offline
 
  
 
 
 
 
  
 Gender:
  Posts: 46
 
 | 
|  | Re: A Better Way? « Reply #4 on: Mar 19th, 2015, 04:32am »
 |  |  Svein - - - Thanks for guiding me to the Windows section for dialogue boxes. I read all, and digested some of the document. I also found that Richard had written an example program for dialogue boxes.
 
 I had, several times, looked for such a program, but somehow missed it. I think the problem is that I did not know that what I wanted was called a "dialogue box."
 
 The example program did have a slightly different name than the manual name and I am learning from observing it.
 
 In any event, as for your examples, I really liked your third example with the radio buttons. I'm trying to find out how I can extend the menu to allow a 9th and 10th line. As yet, I have not found the number to change, but I'm looking and reading.
 
 
 Many thanks.
 I certainly will invest a few days here.
 Especially I thank you for the examples.
 
 This is exactly what I was looking for and I was searching under "menu boxes" and came up with nothing.
 This was a lot of work, so again, thank you.
 |  
| 
| « Last Edit: Mar 20th, 2015, 02:08am by CharlesB » |  Logged |  
 |  |  |  
| 
| 
| sveinioslo Developer
 
 member is offline
 
  
 
 
 
 
  
 
 Posts: 64
 
 | 
|  | Re: A Better Way? « Reply #5 on: Mar 20th, 2015, 10:13pm »
 |  |  The downside of constructing the dialogbox manually (as in the example), is that even a small change in the design, may require a lot of editing.
 Consider using one of the dialogue editors.There is one in the bbc/examples/tools folder named dlgedit.bbc.
 
 To add lines to the radiobutton example, you need to increase the dialog size, reserve more memory for it and move the ok/cancel buttons down.
 In FN_newdialog increase the cy% value and for each new line, add 50 (bytes) to last value.
 In PROC_pushbutton increase the y% values.
 You need to experiment a little with the values.
 Then just add one or more DATA lines.
 
 Good luck
 Svein
 
 |  
| 
|  |  Logged |  
 |  |  |  
| 
| 
| CharlesB New Member
 
 
 member is offline
 
  
 
 
 
 
  
 Gender:
  Posts: 46
 
 | 
|  | Re: A Better Way? « Reply #6 on: Mar 21st, 2015, 10:46pm »
 |  |  Thanks.
 After you first showed me the dialog boxes I did find the example program. I am fascinated with it for what it can do. I have been able to DIM string arrays for over 50 strings and the text just scrolls down in the Combo Box.
 
 The below is an example. I am uploading an array  THE_NAME$() from a data file
 With a FOR - NEXT Loop, it works great in the combo box.
 I disabled this for the example that I'm sending you.
 
 I wanted a second combo box, and I seem to have managed!
 I am so happy. I feel that I am the remedial child of BBC BASIC, but I did manage to pull this off.
 
 The only thing that I seemed to have messed up is the arrow keys; they should be with the "VAL" box. But, rather, they are with my second Combo Box. Any suggestions as how I can fix this?
 
 I have tried to find the solution, but no luck yet as to what I did. I did save files along the way with my steps though.
 
 I did figure out, with your help, and trial and error to enlarge my dialogue box.
 
 I tired to move down the pushbuttons, but with moderate success.
 I just need to read the dialogue instructions again and again to get a better handle on them.
 
 In the meantime, this is a new world, and I'm very happy to be learning about these dialog boxes.
 
 Here is what I have as I have modified the Example Program.
 
 Thanks so much!!
 
 REM. Program to demonstrate a Dialogue Box
 INSTALL @lib$+"WINLIB2"
 
 REM PROC_OPEN_BENDNAME_FIL
 
 BS_DEFPUSHBUTTON = &1
 CB_ADDSTRING = &143
 CB_SETCURSEL = &14E
 CBS_DROPDOWNLIST = &3
 ES_AUTOHSCROLL = &80
 ES_NUMBER = &2000
 LB_ADDSTRING = &180
 LB_GETCURSEL = &188
 UDM_SETRANGE = &465
 UDS_ALIGNRIGHT = &4
 UDS_AUTOBUDDY = &10
 UDS_SETBUDDYINT = &2
 WS_CHILD = &40000000
 WS_GROUP = &20000
 WS_VISIBLE = &10000000
 
 REM These are the old values dlg%=FN_newdialog("Bends Quote", 20, 20, 160, 128, 8, 560)
 
 dlg%=FN_newdialog("Bends Quote", 20, 20, 175, 128, 10, 600)
 PROC_groupbox(dlg%, "Enter Degree   Enter Number", 0, 4, 4, 152, 96, WS_GROUP)
 REM PROC_editbox(dlg%, "Enter Degree", 101, 12, 20, 64, 12, ES_AUTOHSCROLL)
 PROC_editbox(dlg%, "QTY", 102, 82, 20, 64, 12, ES_NUMBER)
 
 PROC_combobox(dlg%, "Degree", 101, 12, 20, 64, 12, CBS_DROPDOWNLIST)
 
 PROC_dlgctrl(dlg%, "", 109, 0, 0, 12, 12, WS_VISIBLE OR WS_CHILD OR \
 \ UDS_AUTOBUDDY OR UDS_ALIGNRIGHT OR UDS_SETBUDDYINT, "msctls_updown32")
 
 PROC_combobox(dlg%, "", 103, 12, 40, 64, 60, CBS_DROPDOWNLIST)
 REM Would like another combo box here.
 
 PROC_listbox(dlg%, "", 104, 82, 40, 64, 48, 0)
 
 PROC_radiobutton(dlg%, "Std Tangents", 105, 12, 64, 64, 10, 0)
 PROC_radiobutton(dlg%, "Extd Tangents", 106, 12, 82, 64, 10, 0)
 REM Tried this but with no success yet  PROC_radiobutton(dlg%, "Third", 107, 13, 83, 64, 10, 0)
 REM proc_checkbox(dlg%, "Checkbox", 107, 82, 82, 64, 10, 0)
 
 PROC_pushbutton(dlg%, "OK", 1, 12, 108, 56, 14, WS_GROUP OR BS_DEFPUSHBUTTON)
 PROC_pushbutton(dlg%, "Cancel", 2, 92, 108, 56, 14, 0)
 REM experiment with new values . . . not good PROC_pushbutton(dlg%, "OK", 2, 14, 112, 62, 18, WS_GROUP OR BS_DEFPUSHBUTTON)
 REM experiment with new values . . . not good PROC_pushbutton(dlg%, "Cancel", 6, 100, 115, 60, 18, 2)
 
 PROC_showdialog(dlg%)
 ON CLOSE PROC_closedialog(dlg%):QUIT
 ON ERROR PROC_closedialog(dlg%)
  RINT'REPORT$:END 
 DIM Bendsize$(50)
 
 REM  FOR X = 1 TO 45
 SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "String example 1"
 SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "String example 2"
 SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "String example 3"
 SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "String example 4"
 SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "String example 5"
 
 REM NEXT X
 
 REM FOR X = 1 TO 45
 REM SYS "SendDlgItemMessage", !dlg%, 101, CB_ADDSTRING, 0, THE_NAME$(X)
 
 SYS "SendDlgItemMessage", !dlg%, 101, CB_ADDSTRING, 0, "String example x1"
 SYS "SendDlgItemMessage", !dlg%, 101, CB_ADDSTRING, 0, "String example x2"
 SYS "SendDlgItemMessage", !dlg%, 101, CB_ADDSTRING, 0, "String example x3"
 SYS "SendDlgItemMessage", !dlg%, 101, CB_ADDSTRING, 0, "String example x4"
 
 
 REM NEXT X
 
 SYS "SendDlgItemMessage", !dlg%, 103, CB_SETCURSEL, 0, 0
 SYS "SendDlgItemMessage", !dlg%, 101, CB_SETCURSEL, 0, 0
 SYS "SendDlgItemMessage", !dlg%, 104, LB_ADDSTRING, 0, "12 Rad"
 SYS "SendDlgItemMessage", !dlg%, 104, LB_ADDSTRING, 0, "18 Rad"
 SYS "SendDlgItemMessage", !dlg%, 104, LB_ADDSTRING, 0, "24 Rad"
 SYS "SendDlgItemMessage", !dlg%, 104, LB_ADDSTRING, 0, "30 Rad"
 SYS "SendDlgItemMessage", !dlg%, 104, LB_ADDSTRING, 0, "36 Rad"
 SYS "SendDlgItemMessage", !dlg%, 104, LB_ADDSTRING, 0, "48 Rad"
 SYS "SendDlgItemMessage", !dlg%, 104, LB_ADDSTRING, 0, "60 Rad"
 SYS "SendDlgItemMessage", !dlg%, 104, LB_ADDSTRING, 0, "72 Rad"
 
 
 SYS "CheckRadioButton", !dlg%, 105, 106, 105
 SYS "SendDlgItemMessage", !dlg%, 109, UDM_SETRANGE, 0, 999
 
 Click%=0
 ON SYS Click% = @wparam% : RETURN
 REPEAT
 WAIT 1
 click%=0
 SWAP Click%, click%
 UNTIL click%=1 OR click%=2 OR !dlg%=0
 
 IF click%=1 THEN
 PRINT "OK pressed, settings were:"'
 
 DIM text% 255
 SYS "GetDlgItemText", !dlg%, 101, text%, 255
 PRINT "Text box contained """$$text%""""
 
 SYS "GetDlgItemInt", !dlg%, 102, 0, 1 TO Val%
 
 
 SYS "GetDlgItemText", !dlg%, 103, text%, 255
 
 
 SYS "SendDlgItemMessage", !dlg%, 104, LB_GETCURSEL, 0, 0 TO sel%
 PRINT "Listbox selection index was ";sel%
 
 SYS "IsDlgButtonChecked", !dlg%, 105 TO rb1%
 IF rb1% PRINT "Radiobutton 1 was checked" ELSE PRINT "Radiobutton 2 was checked"
 
 SYS "IsDlgButtonChecked", !dlg%, 107 TO cb%
 IF cb% PRINT "Checkbox was checked" ELSE PRINT "Checkbox was not checked"
 ELSE
 PRINT "Cancel pressed"
 ENDIF
 PRINT Val%;" - "; $$text%; '"ID Bends";
 PROC_closedialog(dlg%)
 PRINT "Combobox selection was """$$text%""""
 END
 
 DEF PROC_OPEN_BENDNAME_FIL
 REM Program automatically translated from QBASIC to BBC BASIC
 REM using QB2BBC utility ver 0.36 on Fri.20 Mar 2015,18:02:22
 REM!Embed @lib$+"QBLIB"
 REM    INSTALL @lib$+"QBlib" : PROC_QBinit
 
 REM Initialise string variables:
 Title1$ = "" : Title2$ = ""
 DIM THELINE$(45)
 DIM THE_NAME$(45)
 DIM THE_WEIGHT(45)
 DIM THE_BASIC_PARTNUMBER$(45)
 
 f& = OPENIN("Bends Data Files\bendname.fil") : IF f&=0 ERROR 53, "Cannot open file"
 SWAP @hfile%(f&), @hfile%(5)
 INPUT #5, Title1$ : WHILE ASCTitle1$=10 Title1$ = MID$(Title1$,2) : ENDWHILE
 INPUT #5, Title2$ : WHILE ASCTitle2$=10 Title2$ = MID$(Title2$,2) : ENDWHILE
 REPEAT : WHILE EOF #5 EXIT REPEAT : ENDWHILE
 X = X + 1
 INPUT #5, THELINE$(X) : WHILE ASCTHELINE$(X)=10 THELINE$(X) = MID$(THELINE$(X),2) : ENDWHILE
 REM   OSCLI "OUTPUT 15" : PRINT THELINE$(X) : OSCLI "OUTPUT 0"
 THE_NAME$(X) = MID$(THELINE$(X),5,7)
 THE_WEIGHT(X) = VAL(MID$(THELINE$(X),17,7))
 
 THE_BASIC_PARTNUMBER$(X) =(MID$(THELINE$(X),38,4))
 REM PRINT THE_NAME$(X), THE_WEIGHT(X), "    ", THE_BASIC_PARTNUMBER$(X)
 
 REM PRINT THELINE$(X)
 
 UNTIL FALSE
 CLOSE #5
 ENDPROC
 
 
 END
 
 
 |  
| 
| « Last Edit: Mar 21st, 2015, 11:31pm by CharlesB » |  Logged |  
 |  |  |  
| 
| 
| sveinioslo Developer
 
 member is offline
 
  
 
 
 
 
  
 
 Posts: 64
 
 | 
|  | Re: A Better Way? « Reply #7 on: Mar 22nd, 2015, 10:09am »
 |  |  Good work.
 
 Quote:
 | | I seemed to have messed up is the arrow keys; they should be with the "VAL" box | 
 | 
 They will automatically merge with the lastly created item.
 Just move the PROC_dlgctrl up one line, and see the magic.
 
 Svein
 
 PS. Use the 'code' tags when posting code to avoid corruption of the code.
 In this case there is a smiley instead of PRINT.
 Which becomes 'tongueRINT' when pasted into the IDE.
 Hint: press the # button and put your code in between the 'code' and '/code' .
 
 |  
| 
|  |  Logged |  
 |  |  |  
| 
| 
| CharlesB New Member
 
 
 member is offline
 
  
 
 
 
 
  
 Gender:
  Posts: 46
 
 | 
|  | Re: A Better Way? « Reply #8 on: Mar 22nd, 2015, 9:06pm »
 |  |  Love the magic!
 
 Thanks for the advice; I was wondering where that smiley face came from.
 |  
| 
|  |  Logged |  
 |  |  |  
| 
| 
| CharlesB New Member
 
 
 member is offline
 
  
 
 
 
 
  
 Gender:
  Posts: 46
 
 | 
|  | Re: A Better Way? « Reply #9 on: Mar 29th, 2015, 02:22am »
 |  |  Svein,
 Your advice was profitable! I have spent two weeks or so really getting to see how dialogue boxes work and they have really cleaned up my program.
 
 Some of the boxes allow users to provide lots of information, and this is so much better than the old BASIC "INPUT" command that I was using.
 
 Now, for a simple question (I hope).
 Can you direct me, or give me a simple example of how a simple window text box would work.
 
 I would like to put some printing-to-screen information (to the user) into a window. She can keep the window until she no longer requires the information. Also, with a "Snagit Utility" she can grab a window and directly copy it into an email.
 
 Again, I thank you so much for your help. To see the dialogue box work was sort of a "lightbulb moment" for me.
 Thanks, Charles
 |  
| 
|  |  Logged |  
 |  |  |  
| 
| 
| sveinioslo Developer
 
 member is offline
 
  
 
 
 
 
  
 
 Posts: 64
 
 | 
|  | Re: A Better Way? « Reply #10 on: Mar 30th, 2015, 08:45am »
 |  |  Great work !
 
 Quote:
 | | simple window text box would work. and directly copy it into an email.
 
 | 
 | 
 You could make a separate dialogbox with an editbox in it, n-lines tall.
 And add ES_MULTILINE to the editbox_style% value.
 Then the user can copy/paste the text as usual.
 Can't remember how to fill it with text 'line by line' but all text at once (in one string), will work.
 
 https://msdn.microsoft.com/en-us/library/windows/desktop/bb775464%28v=vs.85%29.aspx
 
 Svein
 
 |  
| 
| « Last Edit: Mar 30th, 2015, 08:49am by sveinioslo » |  Logged |  
 |  |  |  
 |