home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c082_144 / 7.ddi / RWDOC.ZIP / BWCCAPI.RW next >
Encoding:
Text File  |  1992-06-10  |  23.2 KB  |  856 lines

  1.                            BWCCAPI.RW
  2.                            ==========
  3.  
  4.  
  5. This file describes technical aspects of the Borland Windows
  6. Custom Controls (BWCC) and contains information that might be
  7. useful or of interest to the advanced resource designer. You can,
  8. however, successfully create or modify application resources for
  9. BWCC using the information contained in the file MANUAL.RW.
  10.  
  11.  
  12. 1        Defining a derivative dialog class
  13. -------------------------------------------
  14.  
  15. To create your own dialog window class (for example, if you want
  16. the dialog box to have its own icon), you must "derive" your
  17. class from the BORDLG class.
  18.  
  19. To derive a class from BORDLG, do the following:
  20.  
  21. 1.  Specify a window class name that starts with "bordlg". Class
  22.     names that start with a leading underscore ("_bordlg...") and
  23.     "bordlg" itself are reserved for use by Borland. Thus,
  24.     "bordlg_foo" is a valid derived name, but "mybordlg" or
  25.     "_bordlg_mine" are not.
  26.  
  27. 2.  Your dialog window function should call BWCCDefDlgProc, not
  28.     the Windows standard DefDlgProc for messages that it does not
  29.     process.
  30.  
  31. 3.  The window proc must call BWCCDefDlgProc for the following
  32.     messages:
  33.  
  34.     WM_CTLCOLOR
  35.     WM_NCCREATE
  36.     WM_CREATE
  37.     WM_NCDESTROY
  38.     WM_SETFONT
  39.     WM_PAINT
  40.     WM_ERASEBKGND
  41.  
  42.  
  43. 2        Technical description of Borland Windows Custom Controls
  44. -----------------------------------------------------------------
  45.  
  46. Section 3 through section 7 contains descriptions of each of the
  47. Borland Windows Custom Controls classes. Most of the subsection
  48. headings are self-explanatory, with the possible exception of the
  49. following:
  50.  
  51. - "Class Name" gives the Resource Workshop name in quotation
  52.   marks, followed by the identifier name--C define or Pascal
  53.   constant.
  54.  
  55. - "Window styles" include "Types" and "Options." Types dictate
  56.   the overall appearance and functionality of the control.
  57.   Options are those available to each type of control.
  58.  
  59. - "Messages" include "Commands" and "Notifications." Commands are
  60.   messages to a control. Notifications are a special type of
  61.   WM_COMMAND message used by controls. The control ID of the
  62.   button is passed in the wParam of the message, while the lParam
  63.   contains both the notification type and the window handle of
  64.   the control. The notification type is contained in the
  65.   high-order word of lParam and can be extracted using the HIWORD
  66.   macro; the window handle is contained in the low-order word of
  67.   lParam and can be extracted using the LOWORD macro.
  68.  
  69.  
  70. 3        BORBTN control
  71. -----------------------
  72.  
  73. Function:          bitmapped push buttons and "splash panels"
  74.  
  75. Class Name:        "borbtn" ( BUTTON_CLASS )
  76.  
  77.  
  78. 3.1      Window styles
  79. ----------------------
  80.  
  81. 3.1.1    Types inherited from standard Windows controls
  82. -------------------------------------------------------
  83.  
  84. 3.1.1.1  BS_DEFPUSHBUTTON and BS_PUSHBUTTON
  85. -------------------------------------------
  86.  
  87. These types define the two standard Windows push button types:
  88.  
  89. - BS_DEFPUSHBUTTON
  90. - BS_PUSHBUTTON
  91.  
  92. The BS_DEFPUSHBUTTON option identifies the "default" push button.
  93. When the user presses the Enter key in a dialog box, the default
  94. button's ID is in the wParam of the WM_COMMAND message sent to
  95. the button's parent window. The Windows dialog manager sends a
  96. BN_CLICKED notification from that button to the dialog window.
  97.  
  98. There are two exceptions:
  99.  
  100. - If another button gains keyboard focus through a Tab keystroke,
  101.   that key temporarily becomes the default button and is
  102.   referenced in the BN_CLICKED notification.
  103.  
  104. - If keyboard focus is in an edit control for which the
  105.   ES_WANTRETURN flag is set, the Enter key inserts a carriage
  106.   return into the text in the edit control.
  107.  
  108.  
  109. 3.1.2    Types unique to BWCC
  110. -----------------------------
  111.  
  112. 3.1.2.1  BBS_BITMAP
  113. -------------------
  114.  
  115. This type is used to display "splash panels," which are bitmaps
  116. the user does not interact with.
  117.  
  118.  
  119. 3.1.3    Options inherited from standard Windows controls
  120. ---------------------------------------------------------
  121.  
  122. [none]
  123.  
  124.  
  125. 3.1.4    Options unique to BWCC
  126. -------------------------------
  127.  
  128. 3.1.4.1  BBS_PARENTNOTIFY
  129. -------------------------
  130.  
  131. This option causes the control to generate the following
  132. notification messages at run time:
  133.  
  134. - BBN_SETFOCUS
  135. - BBN_SETFOCUSMOUSE
  136. - BBN_GOTATAB
  137. - BBN_GOTABTAB
  138.  
  139. These notifications are described in section 3.2.4.
  140.  
  141.  
  142. 3.1.4.2  BBS_OWNERDRAW
  143. ----------------------
  144.  
  145. This option causes the control to send WM_DRAWITEM to its parent 
  146. at run time, for specialized drawing.
  147.  
  148.  
  149. 3.1.4.3  BBS_DLGPAINT
  150. ---------------------
  151.  
  152. The BWCC Custom Dialog Class uses this option to inform the
  153. button that the dialog class will paint the button. This option
  154. is for internal use only by BWCC.
  155.  
  156.  
  157. 3.2      Messages
  158. -----------------
  159.  
  160. 3.2.1    Commands inherited from standard Windows controls
  161. ----------------------------------------------------------
  162.  
  163. 3.2.1.1  BM_SETSTYLE
  164. --------------------
  165.  
  166. The Windows dialog manager uses this message to toggle between
  167. the BS_DEFPUSHBUTTON and BS_PUSHBUTTON types.
  168.  
  169.  
  170. 3.2.1.2  BM_SETSTATE
  171. --------------------
  172.  
  173. This message changes the "highlight" state of a button. If the
  174. wParam of the message is nonzero, the button is highlighted
  175. (drawn as if it were pressed).
  176.  
  177.  
  178. 3.2.1.3  BM_GETSTATE
  179. --------------------
  180.  
  181. This message determines whether a button is highlighted. It
  182. returns a nonzero value when the button is highlighted and zero
  183. when the button is not highlighted.
  184.  
  185.  
  186. 3.2.2    Commands unique to BWCC
  187. --------------------------------
  188.  
  189.  
  190. 3.2.2.1  BBM_SETBITS
  191. --------------------
  192.  
  193. The application uses this message to pass a set of bitmap handles
  194. to the button. Normally, the buttons use the button control ID to
  195. automatically load bitmaps from the user's resources. If the
  196. bitmaps do not exist, the button caption is drawn into a default
  197. bitmap by using a lighter-weight version of the dialog font.
  198.  
  199. To use this message, you must first create three bitmap images of
  200. a single button:
  201.  
  202. - the button without keyboard focus
  203. - the button with keyboard focus, but not pressed
  204. - the button when it is "pressed" (or highlighted)
  205.  
  206. After creating the bitmaps, you must put the handles to these
  207. bitmaps into an array and pass a far pointer to this array in the
  208. lParam of the BM_SETBITS message.
  209.  
  210. The following C and Pascal samples show how this is done:
  211.  
  212. C SAMPLE
  213. --------
  214.  
  215.     HBITMAP hBits[3];
  216.     HWND  hWndButton = GetDlgItem( hWnd, ID_FOO);
  217.  
  218.  
  219.     hBits[0] = MakeNormalBitmap(...);
  220.     hBits[1] = MakeHighlightBitmap(...);
  221.     hBits[2] = MakeFocusBitmap(...);
  222.  
  223.  
  224.     SendMessage( hWndButton, BBM_SETBITS, 0, (LONG) (LPSTR)
  225.          hBits);
  226.  
  227. PASCAL SAMPLE
  228. -------------
  229.  
  230.     procedure SetBitmaps(Wnd: HWnd);
  231.     var
  232.      Bits: array[0..2] of HBitmap;
  233.      WndButton: HWnd;
  234.     begin
  235.      WndButton := GetDlgItem(Wnd, id_Foo);
  236.      Bits[0] := MakeNormalBitmap(...);
  237.      Bits[1] := MakeHighlightBitmap(...);
  238.      Bits[2] := MakeFocusBitmap(...);
  239.      SendMessage(WndButton, BBM_SETBITS, 0, @@Bits);
  240.     end;
  241.  
  242. NOTE: If a button's bitmaps are initialized in this manner, the
  243. application must destroy the bitmaps by calling DeleteObject
  244. before it terminates. The application typically makes this call
  245. in the WM_DESTROY message handler for the button's parent window.
  246.  
  247.  
  248. 3.2.3    Notifications inherited from standard Windows controls
  249. ---------------------------------------------------------------
  250.  
  251. 3.2.3.1  BN_CLICKED
  252. -------------------
  253.  
  254. The button sends this message when it has been "pressed" by the
  255. user, either by clicking while the mouse pointer is within the
  256. button window or by either of the following keyboard actions:
  257.  
  258. - The user presses the Spacebar or the Enter key when the button
  259.   has keyboard focus.
  260.  
  261. - The user presses the button's accelerator key when keyboard
  262.   focus is in another control.
  263.  
  264. To associate an accelerator key with a button, place an ampersand
  265. before the ASCII value of the key in the button's text (for
  266. example, "&Yes"). Note that case is not significant for button
  267. accelerators.
  268.  
  269.  
  270. 3.2.4    Notifications unique to BWCC
  271. -------------------------------------
  272.  
  273. The following notifications are available if you've specified the
  274. BBS_PARENTNOTIFY style.
  275.  
  276.  
  277. 3.2.4.1  BBN_SETFOCUS
  278. ---------------------
  279.  
  280. The button sends this notification to its parent window when it
  281. gains keyboard focus through an action other than a mouse click.
  282.  
  283.  
  284. 3.2.4.2  BBN_SETFOCUSMOUSE
  285. --------------------------
  286.  
  287. The button sends this notification to its parent window when it
  288. gains keyboard focus through a mouse click.
  289.  
  290.  
  291. 3.2.4.3  BBN_GOTATAB
  292. --------------------
  293.  
  294. The button sends this notification to its parent window when the
  295. user presses the <Tab> key while keyboard focus is in the button.
  296. The parent can then intervene in the processing of the keystroke
  297. by returning a nonzero value.
  298.  
  299.  
  300. 3.2.4.4  BBN_GOTABTAB
  301. ---------------------
  302.  
  303. The button sends this notification to its parent window when the
  304. user presses Shift-Tab (back-tab) while keyboard focus is in the
  305. button. The parent can then intervene in the processing of the
  306. keystroke by returning a nonzero value.
  307.  
  308.  
  309. 3.2.4.5  WM_DRAWITEM
  310. --------------------
  311.  
  312. If you specify the BBS_OWNERDRAW style for the button, it sends a
  313. WM_DRAWITEM message to its parent window. The lParam of the
  314. message contains a far pointer to a DRAWITEMSTRUCT structure.
  315.  
  316. The fields of that structure are described in the Windows SDK
  317. documentation for this message, but with the following
  318. enhancement:
  319.  
  320. For Windows owner-draw buttons, the itemID field of the
  321. DRAWITEMSTRUCT structure is unused. Borland buttons use this
  322. field to pass their type. If the button is a default push button,
  323. this field contains the value BS_DEFPUSHBUTTON. Otherwise, it
  324. contains the value BS_PUSHBUTTON.
  325.  
  326. The other fields and the values passed in them are
  327.  
  328.       CtlType      ODT_BUTTON
  329.  
  330.       CtlID        The control ID of the button
  331.                         (GetWindowWord(hWnd, GWW_ID))
  332.  
  333.       itemAction   ODA_DRAWENTIRE, unless the repaint is being
  334.                    caused by a focus change, in which case this
  335.                    field contains ODA_FOCUS
  336.  
  337.       itemState    The combination of the following values,
  338.                    depending on the current state of the button:
  339.  
  340.                    ODS_FOCUS if the button has keyboard focus
  341.                    ODS_DISABLED if the button is disabled
  342.                    ODS_SELECTED if the button is highlighted
  343.  
  344.       hwndItem     The window handle of the control
  345.  
  346.       hDC          A device context for the window, with all
  347.                    values in the default state returned by GetDC
  348.  
  349.       rcItem       The client rectangle of the control
  350.  
  351.  
  352. 3.3      Button resource Id numbering scheme
  353. --------------------------------------------
  354.  
  355. The Microsoft resource compiler does not provide user-specified
  356. control initialization data when it parses the Windows dialog
  357. template data structure. Because of this, Resource Workshop uses
  358. the control ID field as a base from which to derive the resource
  359. IDs of the bitmaps required by a button. For each bitmap button,
  360. there are six images: three for EGA and monochrome devices, and
  361. three for VGA and higher-resolution devices.
  362.  
  363. The bitmap resource IDs are derived from the button control using
  364. the following formulas:
  365.  
  366.    Control ID + 1000: Normal VGA-resolution image
  367.    Control ID + 3000: Pressed VGA-resolution image
  368.    Control ID + 5000: Focused VGA-resolution image
  369.  
  370.    Control ID + 2000: Normal EGA-resolution image
  371.    Control ID + 4000: Pressed EGA-resolution image
  372.    Control ID + 6000: Focused EGA-resolution image
  373.  
  374.  
  375. 4        BORRADIO control
  376. -------------------------
  377.  
  378. Function: Better-looking radio buttons
  379.  
  380. Class Name: "borradio" ( RADIO_CLASS )
  381.  
  382.  
  383. 4.1      Window Styles
  384. ----------------------
  385.  
  386. 4.1.1    Types inherited from standard Windows controls
  387. -------------------------------------------------------
  388.  
  389. 4.1.1.1  BS_RADIOBUTTON
  390. -----------------------
  391.  
  392. A nonautomatic radio button. The button merely informs the
  393. application program that it has been "checked" (pressed) via the
  394. BN_CLICKED notification. The application is responsible for
  395. calling the CheckRadioButton function to change the button's
  396. state and the state of the other buttons it is grouped with.
  397.  
  398.  
  399. 4.1.1.2  BS_AUTORADIOBUTTON
  400. ---------------------------
  401.  
  402. An "automatic" radio button. When the user selects one of these
  403. buttons, it is automatically marked (with a circle or diamond),
  404. and the previously selected button within the group is
  405. deselected, without the intervention of the application program.
  406.  
  407.  
  408. 4.1.2    Types unique to BWCC
  409. -----------------------------
  410.  
  411. [none]
  412.  
  413.  
  414. 4.1.3    Options inherited from standard Windows controls
  415. ---------------------------------------------------------
  416.  
  417. 4.1.3.1  BS_LEFTTEXT
  418. --------------------
  419.  
  420. This option causes the text associated with the button to be
  421. displayed to the left of the button, rather than to the right of
  422. the button.
  423.  
  424.  
  425. 4.1.4    Options unique to BWCC
  426. -------------------------------
  427.  
  428.  
  429. 4.1.4.1  BBS_PARENTNOTIFY
  430. -------------------------
  431.  
  432. This option causes the control to generate the following
  433. notification messages at run time:
  434.  
  435. - BBN_SETFOCUS
  436. - BBN_SETFOCUSMOUSE
  437. - BBN_GOTATAB
  438. - BBN_GOTABTAB
  439.  
  440. These notifications are described in section 3.2.4.
  441.  
  442.  
  443. 4.1.4.2  BBS_OWNERDRAW
  444. ----------------------
  445.  
  446. This option causes the control to send WM_DRAWITEM to its parent
  447. at run time, for specialized drawing.
  448.  
  449.  
  450. 4.1.4.3  BBS_DLGPAINT
  451. ---------------------
  452.  
  453. The BWCC Custom Dialog Class uses this option to inform the
  454. button that the dialog class will paint the button. This option
  455. is for internal use only by BWCC.
  456.  
  457.  
  458. 4.2      Messages
  459. -----------------
  460.  
  461. 4.2.1    Commands inherited from standard Windows controls
  462. ----------------------------------------------------------
  463.  
  464. 4.2.1.1  BM_GETCHECK
  465. --------------------
  466.  
  467. This message causes the button to return its current "check"
  468. state (the message names and descriptions all use check box
  469. imagery). If it is checked (pressed), it returns a nonzero value.
  470. Otherwise, it returns zero.
  471.  
  472.  
  473. 4.2.1.2  BM_SETCHECK
  474. --------------------
  475.  
  476. This message changes the check state of a button. If the wParam
  477. of the message is nonzero, the button is checked (filled with a
  478. circle or a diamond).
  479.  
  480.  
  481. 4.2.1.3  BM_GETSTATE
  482. --------------------
  483.  
  484. This message determines whether a button is "highlighted" (drawn
  485. with a heavy outline around the circle or diamond). It returns a
  486. nonzero value when the button is highlighted and zero when the
  487. button is not highlighted.
  488.  
  489.  
  490. 4.2.1.4  BM_SETSTATE
  491. --------------------
  492.  
  493. This message changes the highlight state of a button. If the
  494. wParam of the message is nonzero, the button is highlighted.
  495.  
  496.  
  497. 4.2.2    Commands unique to BWCC
  498. --------------------------------
  499.  
  500. [none]
  501.  
  502.  
  503. 4.2.3    Notifications inherited from standard Windows controls
  504. ---------------------------------------------------------------
  505.  
  506. 4.2.3.1  BN_CLICKED
  507. -------------------
  508.  
  509. See the description of BN_CLICKED in section 3.2.3.1 of this
  510. file.
  511.  
  512.  
  513. 4.2.4    Notifications unique to BWCC
  514. -------------------------------------
  515.  
  516. The following notifications are sent to the parent window only if
  517. the programmer has specified the BBS_PARENTNOTIFY style.
  518.  
  519. - BBN_SETFOCUS
  520. - BBN_SETFOCUSMOUSE
  521. - BBN_GOTATAB
  522. - BBN_GOTABTAB
  523.  
  524. For a description of these notifications, see section 3.2.4 of
  525. this file.
  526.  
  527.  
  528. 4.2.4.1  WM_DRAWITEM
  529. --------------------
  530.  
  531. The description of this notification is identical to that
  532. contained in section 3.2.4.5, with the following exception:
  533.  
  534. For automatic radio buttons, the itemID field of the
  535. DRAWITEMSTRUCT structure contains the value BS_AUTORADIOBUTTON.
  536. Otherwise, it contains the value BS_RADIOBUTTON.
  537.  
  538.  
  539. 5        BORCHECK control
  540. -------------------------
  541.  
  542. Function: Better-looking check boxes
  543.  
  544. Class Name: "borcheck" ( CHECK_CLASS )
  545.  
  546.  
  547. 5.1      Window Styles
  548. ----------------------
  549.  
  550. 5.1.1    Types inherited from standard Windows controls
  551. -------------------------------------------------------
  552.  
  553. 5.1.1.1  BS_CHECKBOX
  554. --------------------
  555.  
  556. A nonautomatic check box. Application program intervention is
  557. required to change its visual state after it has been "clicked."
  558.  
  559.  
  560. 5.1.1.2  BS_AUTOCHECKBOX
  561. ------------------------
  562.  
  563. A check box that automatically changes its state when "clicked."
  564.  
  565.  
  566. 5.1.2    Types unique to BWCC
  567. -----------------------------
  568.  
  569. [none]
  570.  
  571.  
  572. 5.1.3    Options inherited from standard Windows controls
  573. ---------------------------------------------------------
  574.  
  575.  
  576. 5.1.3.1  BS_LEFTTEXT
  577. --------------------
  578.  
  579. This option causes the text associated with the button to be
  580. displayed to the left of the button, rather than to the right of
  581. the button.
  582.  
  583.  
  584. 5.1.4    Options unique to BWCC
  585. -------------------------------
  586.  
  587.  
  588. 5.1.4.1  BBS_PARENTNOTIFY
  589. -------------------------
  590.  
  591. This option causes the control to generate the following
  592. notification messages at run time:
  593.  
  594. - BBN_SETFOCUS
  595. - BBN_SETFOCUSMOUSE
  596. - BBN_GOTATAB
  597. - BBN_GOTABTAB
  598.  
  599.  
  600. 5.1.4.2  BBS_OWNERDRAW
  601. ----------------------
  602.  
  603. This option causes the control to send WM_DRAWITEM to its parent
  604. at run time, for specialized drawing.
  605.  
  606.  
  607. 5.1.4.3  BBS_DLGPAINT
  608. ---------------------
  609.  
  610. The BWCC Custom Dialog Class uses this option to inform the
  611. button that the dialog class will paint the button. This option
  612. is for internal use only by BWCC.
  613.  
  614.  
  615. 5.2      Messages
  616. -----------------
  617.  
  618. 5.2.1    Commands inherited from standard Windows controls
  619. ----------------------------------------------------------
  620.  
  621. 5.2.1.1  BM_GETCHECK
  622. --------------------
  623.  
  624. This message causes the button to return its current "check"
  625. state. If it is checked, it returns a nonzero value. Otherwise,
  626. it returns zero.
  627.  
  628.  
  629. 5.2.1.2  BM_SETCHECK
  630. --------------------
  631.  
  632. This message changes the state of a check box. If the wParam of
  633. the message is a nonzero value, the check box is drawn with a
  634. check mark.
  635.  
  636.  
  637. 5.2.1.3  BM_GETSTATE
  638. --------------------
  639.  
  640. This message determines whether a check box is "highlighted"
  641. (drawn with a heavy outline). It returns a nonzero value when the
  642. check box is highlighted and zero when the check box is not
  643. highlighted.
  644.  
  645.  
  646. 5.2.1.4  BM_SETSTATE
  647. --------------------
  648.  
  649. This message changes the highlight state of a check box. If the
  650. wParam of the message is a nonzero value, the check box is
  651. highlighted.
  652.  
  653.  
  654. 5.2.2    Commands unique to BWCC
  655. --------------------------------
  656.  
  657. [none]
  658.  
  659.  
  660. 5.2.3    Notifications inherited from standard Windows controls
  661. ---------------------------------------------------------------
  662.  
  663.  
  664. 5.2.3.1  BN_CLICKED
  665. -------------------
  666.  
  667. See the description of BN_CLICKED in section 3.2.3.1 of this
  668. file.
  669.  
  670.  
  671. 5.2.4    Notifications unique to BWCC
  672. -------------------------------------
  673.  
  674. The following notifications are sent to the parent window only if
  675. the programmer has specified the BBS_PARENTNOTIFY style:
  676.  
  677. - BBN_SETFOCUS
  678. - BBN_SETFOCUSMOUSE
  679. - BBN_GOTATAB
  680. - BBN_GOTABTAB
  681.  
  682. For a description of these notifications, see section 3.2.4 of
  683. this file.
  684.  
  685.  
  686. 5.2.4.1  WM_DRAWITEM
  687. --------------------
  688.  
  689. The description of this notification is identical to that
  690. contained in section 3.2.4.5, with the following exception:
  691.  
  692. For automatic check boxes, the itemID field of the DRAWITEMSTRUCT
  693. structure contains the value BS_AUTOCHECKBOX. Otherwise, it
  694. contains the value BS_CHECKBOX.
  695.  
  696.  
  697. 6        BORSHADE control
  698. -------------------------
  699.  
  700. Function: panels and dividers
  701.  
  702. Class Name: "borshade" ( SHADE_CLASS )
  703.  
  704.  
  705. 6.1      Window styles
  706. ----------------------
  707.  
  708. 6.1.1    Types inherited from standard Windows controls
  709. -------------------------------------------------------
  710.  
  711. [none]
  712.  
  713.  
  714. 6.1.2    Types unique to BWCC
  715. -----------------------------
  716.  
  717.  
  718. 6.1.2.1  BSS_GROUP
  719. ------------------
  720.  
  721. This style draws a "chiseled" gray box.
  722.  
  723.  
  724. 6.1.2.2  BSS_HDIP
  725. -----------------
  726.  
  727. This style draws a horizontal dividing line that can be used to
  728. separate sections of a dialog box.
  729.  
  730.  
  731. 6.1.2.3  BSS_VDIP
  732. -----------------
  733.  
  734. This style draws a vertical dividing line that can be used to
  735. separate sections of a dialog box.
  736.  
  737.  
  738. 6.1.2.4  BSS_HBUMP
  739. ------------------
  740.  
  741. This style draws a horizontal dividing line that can be used to
  742. separate sections of a gray group shade (BSS_GROUP).
  743.  
  744.  
  745. 6.1.2.5  BSS_VBUMP
  746. ------------------
  747.  
  748. This style draws a vertical dividing line that can be used to
  749. separate sections of a gray group shade (BSS_GROUP).
  750.  
  751.  
  752. 6.2      Messages
  753. -----------------
  754.  
  755. [none]
  756.  
  757.  
  758. 7        BORDLG dialog class
  759. ----------------------------
  760.  
  761. Function: "Turbo" fast dialog box drawing
  762.  
  763. Class Name: "bordlg" ( BORDLGCLASS )
  764.  
  765. This custom dialog window class implements the "turbo painting"
  766. of Borland custom controls by eliminating unnecessary static
  767. control windows, keeping its own private list of controls within
  768. a dialog box, and painting those controls itself. It also
  769. automatically provides a patterned background on VGA and
  770. higher-resolution displays. If you want your dialogs to have the
  771. "Borland look," you must specify this dialog class in your dialog
  772. box template.
  773.  
  774.  
  775. 7.1      Window Styles
  776. ----------------------
  777.  
  778. 7.1.1    Types inherited from standard Windows controls
  779. -------------------------------------------------------
  780.  
  781. All valid styles for a standard Windows dialog box.
  782.  
  783.  
  784. 7.1.2    Types unique to BWCC
  785. -----------------------------
  786.  
  787. [none]
  788.  
  789.  
  790. 8        Using BWCC controls in nondialog windows
  791. -------------------------------------------------
  792.  
  793. If you want your nondialog windows to look like the BorDlg
  794. windows (with the steel-gray background and light gray background
  795. for static controls), BWCC.DLL provides two functions that
  796. replace the Windows standard "Def" window functions and that
  797. should be called in place of them:
  798.  
  799. - For MDI child windows, call BWCCDefMDIChildProc instead of the
  800.   Windows standard function DefMDIChildProc.
  801.  
  802. - For all other windows, call BWCCDefWindowProc instead of the
  803.   Windows standard function DefWindowProc.
  804.  
  805. As described earlier for BWCCDefDlgProc, your window proc must
  806. call either BWCCDefMDIChildProc or BWCCDefWindowProc for the
  807. following messages:
  808.  
  809. - WM_CTLCOLOR
  810. - WM_NCCREATE
  811. - WM_CREATE
  812. - WM_NCDESTROY
  813. - WM_SETFONT
  814. - WM_PAINT
  815. - WM_ERASEBKGND
  816.  
  817. Note: BWCC does not provide a replacement function for
  818. DefFrameProc.
  819.  
  820.  
  821. 9        Miscellaneous functions
  822. --------------------------------
  823.  
  824. BWCC.DLL exports three additional functions that you might find
  825. useful.
  826.  
  827.  
  828. 9.1      BWCCGetVersion
  829. -----------------------
  830.  
  831. This function, which takes no parameters, returns the current
  832. version of BWCC.DLL. The value it returns is defined in BWCC.H as
  833. BWCCVERSION.
  834.  
  835.  
  836. 9.2      BWCCGetPattern
  837. -----------------------
  838.  
  839. This function, which takes no parameters, returns a handle to the
  840. brush used to paint the background of BorDlg class dialogs. Since
  841. this brush could be a patterned brush, you must align it by
  842. calling UnrealizeObject and SetBrushOrg before selecting it into
  843. a device context. Do not delete this brush by calling
  844. DeleteObject!
  845.  
  846.  
  847. 9.3      BWCCMessageBox
  848. -----------------------
  849.  
  850. This function, which is call-compatible with the Windows standard
  851. function MessageBox, displays a message box that is consistent
  852. with the Borland dialog box style.
  853.  
  854.  
  855.            ========= END OF FILE BWCCAPI.RW =========
  856.