home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / pentlk11.zip / SKETSAMP.HLP (.txt) < prev    next >
OS/2 Help File  |  1994-01-13  |  14KB  |  625 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Sketch Input Window ΓòÉΓòÉΓòÉ
  3.  
  4. You can draw or sketch to this window. Press "SELECT CONTROL" to display a list 
  5. box containing a list of SKETCH control messages to choose from.  To execute a 
  6. particular control message, highlight an item from the list box and press "OK". 
  7. To get help for a particular control message, highlight an item from the list 
  8. box and press "HELP". 
  9.  
  10.  
  11. ΓòÉΓòÉΓòÉ 2. Control Message Selection ΓòÉΓòÉΓòÉ
  12.  
  13. Highlight an item from the list box and press "HELP" to display help for a 
  14. particular Control Message. 
  15.  
  16. Highlight an item from the list box and press "OK" to execute the Message. 
  17.  
  18.  
  19. ΓòÉΓòÉΓòÉ 3. Auxiliary Data ΓòÉΓòÉΓòÉ
  20.  
  21. Choose "No Auxiliary Data" to send a zero value with SKM_SET_CTL_AUXDATA_MODE 
  22. and retrieve no auxiliary data for subsequent strokes. Choose "All Auxiliary 
  23. Data" to send a value of ADF_ALL with SKM_SET_CTL_AUXDATA_MODE and retrieve all 
  24. auxiliary data for subsequent strokes. 
  25.  
  26.  
  27. ΓòÉΓòÉΓòÉ 4. SKM_DELETE_ALL_STROKES ΓòÉΓòÉΓòÉ
  28.  
  29. This Control Message is sent to the control to request deletion of all strokes 
  30. in the stroke database. 
  31.  
  32. Returns:
  33. TRUE  - Success (All strokes deleted)
  34. FALSE - No strokes in the stroke database to delete.
  35.  
  36. Example: 
  37.  
  38. BOOL      rc;
  39.  
  40. rc = (BOOL) WinSendMsg(hSKETCHControl,
  41.                        SKM_DELETE_ALL_STROKES,
  42.                        NULL,
  43.                        NULL);
  44.  
  45. Press "OK" to execute control message SKM_DELETE_ALL_STROKES. 
  46.  
  47.  
  48. ΓòÉΓòÉΓòÉ 5. SKM_UNDO_LAST_STROKE ΓòÉΓòÉΓòÉ
  49.  
  50. This message tells the control to clear the ink of the last stroke and to 
  51. delete it from the stroke database. 
  52.  
  53. Returns:
  54. TRUE  - Success (Last stroke deleted)
  55. FALSE - No strokes in the stroke database to undo.
  56.  
  57. Example: 
  58.  
  59. BOOL      rc;
  60.  
  61. rc = (BOOL) WinSendMsg(hSKETCHControl,
  62.                        SKM_UNDO_LAST_STROKE,
  63.                        NULL,
  64.                        NULL);
  65.  
  66. Press "OK" to execute control message SKM_UNDO_LAST_STROKE. 
  67.  
  68.  
  69. ΓòÉΓòÉΓòÉ 6. SKM_QUERY_CTL_DRAW_POINTER ΓòÉΓòÉΓòÉ
  70.  
  71. This message returns the drawing pointer handle. 
  72.  
  73. Example: 
  74.  
  75. HPOINTER  DrawPtr;
  76.  
  77. DrawPtr = (HPOINTER) WinSendMsg(hSKETCHControl,
  78.                                 SKM_QUERY_CTL_DRAW_POINTER,
  79.                                 NULL,
  80.                                 NULL);
  81.  
  82. Press "OK" to execute control message SKM_QUERY_CTL_DRAW_POINTER. 
  83.  
  84.  
  85. ΓòÉΓòÉΓòÉ 7. SKM_QUERY_CTL_INK_WIDTH ΓòÉΓòÉΓòÉ
  86.  
  87. This message returns the control's current ink width. 
  88.  
  89. Returns:
  90. ULONG ulWidth - Control Ink Width
  91. FALSE     - Failure
  92.  
  93. Example: 
  94.  
  95. ULONG ulWidth;
  96.  
  97. ulWidth = (ULONG) WinSendMsg(hSKETCHControl,
  98.                              SKM_QUERY_CTL_INK_WIDTH,
  99.                              NULL,
  100.                              NULL);
  101.  
  102. Press "OK" to execute control message SKM_QUERY_CTL_INK_WIDTH. 
  103.  
  104.  
  105. ΓòÉΓòÉΓòÉ 8. SKM_QUERY_CTL_INK_COLOR ΓòÉΓòÉΓòÉ
  106.  
  107. This message returns the control's current ink color. 
  108.  
  109. Returns:
  110. LONG lColor - Control Ink Color
  111. CLR_ERROR -  Failure
  112.  
  113. Example: 
  114.  
  115. LONG  lColor;
  116.  
  117. lColor = (LONG) WinSendMsg(hSKETCHControl,
  118.                            SKM_QUERY_CTL_INK_COLOR,
  119.                            NULL,
  120.                            NULL);
  121.  
  122. Press "OK" to execute control message SKM_QUERY_CTL_INK_COLOR. 
  123.  
  124.  
  125. ΓòÉΓòÉΓòÉ 9. SKM_QUERY_CTL_INVISIBLE_MODE ΓòÉΓòÉΓòÉ
  126.  
  127. This message queries the display mode of the ink, whether it is visible or 
  128. invisible. 
  129.  
  130. Returns:
  131. TRUE  - Ink is invisible.
  132. FALSE - Ink is visible.
  133.  
  134. Example: 
  135.  
  136. USHORT    usInvisible;
  137.  
  138. usInvisible = (USHORT) WinSendMsg(hSKETCHControl,
  139.                                   SKM_QUERY_CTL_INVISIBLE_MODE,
  140.                                   NULL,
  141.                                   NULL);
  142.  
  143. Press "OK" to execute control message SKM_QUERY_CTL_INVISIBLE_MODE. 
  144.  
  145.  
  146. ΓòÉΓòÉΓòÉ 10. SKM_SET_CTL_DRAW_POINTER ΓòÉΓòÉΓòÉ
  147.  
  148. This message sets the drawing pointer handle and returns the previous pointer. 
  149.  
  150. Example: 
  151.  
  152. HPOINTER OldDrawPtr;
  153. HPOINTER NewDrawPtr;
  154. POINTER   PTR_PEN   blackpen.ptr
  155.  
  156. NewDrawPtr = WinLoadPointer(HWND_DESKTOP, 0L, PTR_PEN);
  157. OldDrawPtr = (HPOINTER)WinSendMsg(hSKETCHControl,
  158.                                   SKM_SET_CTL_DRAW_POINTER,
  159.                                   MPFROMLONG(NewDrawPtr),
  160.                                   NULL);
  161.  
  162. Press "OK" to execute control message SKM_SET_CTL_DRAW_POINTER. 
  163.  
  164.  
  165. ΓòÉΓòÉΓòÉ 11. SKM_SET_CTL_INK_WIDTH ΓòÉΓòÉΓòÉ
  166.  
  167. This message sets the drawing stroke ink width for the control. Strokes created 
  168. after this message will have the newly set width. The choices for the width are 
  169. one or two pels.  The default ink width is one pel. 
  170.  
  171. Returns:
  172. TRUE  - Success
  173. FALSE - Ink width cannot be set.
  174.  
  175. Example: 
  176.  
  177. BOOL  rc;
  178. ULONG ulWidth = 2;
  179.  
  180. rc = (BOOL) WinSendMsg(hSKETCHControl,
  181.                        SKM_SET_CTL_INK_WIDTH,
  182.                        MPFROMLONG(ulWidth2),
  183.                        NULL);
  184.  
  185. Press "OK" to execute control message SKM_SET_CTL_INK_WIDTH. 
  186.  
  187.  
  188. ΓòÉΓòÉΓòÉ 12. SKM_SET_CTL_INK_COLOR ΓòÉΓòÉΓòÉ
  189.  
  190. This message sets the drawing stroke color for the control. Strokes created 
  191. after this message will have the newly set color. 
  192.  
  193. Returns:
  194. TRUE  - Success
  195. FALSE - Ink color cannot be set.
  196.  
  197. Example: 
  198.  
  199. BOOL      rc;
  200.  
  201. rc = (BOOL) WinSendMsg(hSKETCHControl,
  202.                        SKM_SET_CTL_INK_COLOR,
  203.                        MPFROMLONG(CLR_RED),
  204.                        NULL);
  205.  
  206. Press "OK" to execute control message SKM_SET_CTL_INK_COLOR. 
  207.  
  208.  
  209. ΓòÉΓòÉΓòÉ 13. SKM_SET_CTL_INVISIBLE_MODE ΓòÉΓòÉΓòÉ
  210.  
  211. This message sets the ink color to be invisible or visible. Set param1 to TRUE 
  212. if you wish to select invisible ink. Set param1 to FALSE if you wish to select 
  213. visible ink. 
  214.  
  215. Returns:
  216. TRUE  - Success
  217. FALSE - Failure
  218.  
  219. Example: 
  220.  
  221. BOOL   rc;
  222. USHORT usInvisible = TRUE;
  223.  
  224. rc =  (BOOL) WinSendMsg(hSKETCHControl,
  225.                         SKM_SET_CTL_INVISIBLE_MODE
  226.                         MPFROMSHORT(usInvisible),
  227.                         NULL);
  228.  
  229. Press "OK" to select invisible or visible mode and execute. 
  230.  
  231.  
  232. ΓòÉΓòÉΓòÉ 14. SKM_RENDER_TO_CLIPBOARD ΓòÉΓòÉΓòÉ
  233.  
  234. This message copies the screen resolution bitmap image from the sketch control 
  235. to the Clipboard. 
  236.  
  237. Returns:
  238. TRUE  - Success
  239. FALSE - Failure
  240.  
  241. Example: 
  242.  
  243. BOOL      rc;
  244.  
  245. rc = (BOOL) WinSendMsg(hSKETCHControl,
  246.                        SKM_RENDER_TO_CLIPBOARD,
  247.                        NULL,
  248.                        NULL);
  249.  
  250. Press "OK" to execute control message SKM_RENDER_TO_CLIPBOARD. 
  251.  
  252.  
  253. ΓòÉΓòÉΓòÉ 15. SKM_QUERY_CTL_STROKE_COUNT ΓòÉΓòÉΓòÉ
  254.  
  255. This message is used to get the count of strokes in the stroke database. 
  256.  
  257. Example: 
  258.  
  259. ULONG  ulStrokeCount;
  260.  
  261. ulStrokeCount =  (ULONG) WinSendMsg(hSKETCHControl,
  262.                                     SKM_QUERY_CTL_STROKE_COUNT,
  263.                                     NULL,
  264.                                     NULL);
  265.  
  266. Press "OK" to execute control message SKM_QUERY_CTL_STROKE_COUNT. 
  267.  
  268.  
  269. ΓòÉΓòÉΓòÉ 16. SKM_SET_STROKE_INK_COLOR ΓòÉΓòÉΓòÉ
  270.  
  271. This message is used to reset the color attribute of stroke(i) in the stroke 
  272. database.  Parameter mp1 specifies the stroke number(1..n), and mp2 is the 
  273. value for stroke(i) ink color. 
  274.  
  275. Returns:
  276. TRUE  - Success
  277. FALSE - Failure
  278.  
  279. Example: 
  280.  
  281. BOOL   rc;
  282. LONG   lStrokeColor = CLR_RED;
  283. ULONG  ulStrokeNumber = 1;
  284.  
  285. rc = (BOOL) WinSendMsg(hSKETCHControl,
  286.                        SKM_SET_STROKE_INK_COLOR,
  287.                        MPFROMLONG(ulStrokeNumber),
  288.                        MPFROMP(lStrokeColor) );
  289.  
  290. Press "OK" to execute control message SKM_SET_STROKE_INK_COLOR. 
  291.  
  292.  
  293. ΓòÉΓòÉΓòÉ 17. SKM_SET_STROKE_INK_WIDTH ΓòÉΓòÉΓòÉ
  294.  
  295. This message is used to reset the width attribute of stroke(i) in the stroke 
  296. database.  Parameter mp1 specifies the stroke number(1..n), and mp2 is the 
  297. value for stroke(i) ink width. 
  298.  
  299. Returns:
  300. TRUE  - Success
  301. FALSE - Failure
  302.  
  303. Example: 
  304.  
  305. BOOL   rc;
  306. ULONG  ulStrokeWidth = 2;
  307. ULONG  ulStrokeNumber = 1;
  308.  
  309. rc = (BOOL) WinSendMsg(hSKETCHControl,
  310.                        SKM_SET_STROKE_INK_WIDTH,
  311.                        MPFROMLONG(ulStrokeNumber),
  312.                        MPFROMLONG(ulStrokeWidth) );
  313.  
  314. Press "OK" to execute control message SKM_SET_STROKE_INK_WIDTH. 
  315.  
  316.  
  317. ΓòÉΓòÉΓòÉ 18. SKN_INK_COLOR_CHANGE ΓòÉΓòÉΓòÉ
  318.  
  319. This Notification Message is sent to the parent by the control whenever the ink 
  320. color for the drawing stroke has been changed.  Parameter mp2 will contain the 
  321. value of the color changed to. 
  322.  
  323. Example: 
  324.  
  325. LONG  lColor;
  326.  
  327. case WM_CONTROL:
  328.        switch(SHORT2FROMMP(mp1))
  329.          {
  330.            case SKN_INK_COLOR_CHANGE:
  331.              lColor = LONGFROMMP(mp2);
  332.              break;
  333.          }
  334.  
  335. Press "OK" to change the ink color and receive Notification Message 
  336. SKN_INK_COLOR_CHANGE. 
  337.  
  338.  
  339. ΓòÉΓòÉΓòÉ 19. SKN_STROKE_ADD ΓòÉΓòÉΓòÉ
  340.  
  341. This Notification Message is sent to the parent by the control when a stroke is 
  342. about to be added to the stroke database.  Parameter mp2 will contain the 
  343. stroke number of the stroke about to be added.  If the parent returns TRUE to 
  344. the message, the stroke will not be added.  If the parent returns FALSE, the 
  345. stroke will be added. 
  346.  
  347. Example: 
  348.  
  349. ULONG  ulStrokeNumber;
  350. BOOL   AddTheStroke = TRUE;
  351.  
  352. case WM_CONTROL:
  353.        switch(SHORT2FROMMP(mp1))
  354.          {
  355.            case SKN_STROKE_ADD:
  356.              lStrokeNumber = LONGFROMMP(mp2);
  357.              if (AddTheStroke)
  358.                return((MRESULT) FALSE);
  359.              else
  360.                return((MRESULT) TRUE);
  361.          }
  362.  
  363. Press "OK".  When the next stroke is made in the sketch window, the Sketch 
  364. Control will send Notification message SKN_STROKE_ADD. 
  365.  
  366.  
  367. ΓòÉΓòÉΓòÉ 20. SKN_STROKE_UNDO ΓòÉΓòÉΓòÉ
  368.  
  369. This Notification Message is sent to the parent by the control when a stroke is 
  370. about to be deleted from the stroke database.  Parameter mp2 will contain the 
  371. stroke number of the stroke about to be deleted.  If the parent returns TRUE to 
  372. the message, the stroke will not be deleted.  If the parent returns FALSE, the 
  373. stroke will be deleted. 
  374.  
  375. Example: 
  376.  
  377. ULONG  ulStrokeNumber;
  378. BOOL   UndoTheStroke = TRUE;
  379.  
  380. case WM_CONTROL:
  381.        switch(SHORT2FROMMP(mp1))
  382.          {
  383.            case SKN_STROKE_UNDO:
  384.              ulStrokeNumber = LONGFROMMP(mp2);
  385.              if (UndoTheStroke)
  386.                return((MRESULT) FALSE);
  387.              else
  388.                return((MRESULT) TRUE);
  389.          }
  390.  
  391. Press "OK" to undo the last stroke and receive Notification Message 
  392. SKN_STROKE_UNDO. 
  393.  
  394.  
  395. ΓòÉΓòÉΓòÉ 21. SKN_CONTROL_CLEARED ΓòÉΓòÉΓòÉ
  396.  
  397. This Notification Message is sent to the parent by the control whenever the 
  398. stroke database is about to be cleared of all strokes.  Parameter mp2 will 
  399. contain the number of strokes about to be deleted.  If the parent returns TRUE 
  400. to the message, the strokes will not be deleted, if the parent returns FALSE, 
  401. all strokes will be deleted from the stroke database. 
  402.  
  403. Example: 
  404.  
  405. ULONG  ulStrokes;
  406. BOOL   ClearAllStrokes = TRUE;
  407.  
  408. case WM_CONTROL:
  409.       switch(SHORT2FROMMP(mp1))
  410.         {
  411.           case SKN_CONTROL_CLEARED:
  412.             ulStrokes = LONGFROMMP(mp2);
  413.             if (ClearAllStrokes)
  414.               return((MRESULT) FALSE);
  415.             else
  416.               return((MRESULT) TRUE);
  417.         }
  418.  
  419. Press "OK" to clear all strokes and receive Notification Message 
  420. SKN_CONTROL_CLEARED. 
  421.  
  422.  
  423. ΓòÉΓòÉΓòÉ 22. SKM_SET_CTL_AUXDATA_MODE ΓòÉΓòÉΓòÉ
  424.  
  425. This message informs the control that subsequent strokes will retrieve the 
  426. specified pen stroke auxiliary data if the data can be returned by the device 
  427. (pen, touch, mouse). 
  428.  
  429. Following is a list of the ADF_* flags defined in the header file penpm.h: 
  430.  
  431. ADF_TIMESTAMP- Point timestamp 
  432. ADF_FLAGS   - Point flags 
  433. ADF_SCREENZ  - Z axis value 
  434. ADF_ANGLE   - Device angle 
  435. ADF_ROTATION - Device rotation 
  436. ADF_BUTTON  - Button status 
  437. ADF_OEM    - OEM spec. data byte cnt 
  438. ADF_USER   - always set 
  439. ADF_ALL    - All fields 
  440. ADF_OEM_COUNT_MASK - OEM valid count 
  441.  
  442. These values can be ORed together to retrieve multiple fields of auxiliary data 
  443. or a zero can be sent to reset so that no auxiliary data is retrieved for 
  444. subsequent strokes. 
  445.  
  446. Example: 
  447.  
  448. BOOL   rc;
  449. ULONG ulAuxData = ADF_TIMESTAMP;
  450.  
  451. rc =  (BOOL) WinSendMsg(hSKETCHControl,
  452.                         SKM_SET_CTL_AUXDATA_MODE,
  453.                         MPFROMLONG(ulAuxData),
  454.                         NULL);
  455.  
  456. Press "OK" to choose to have subsequent strokes retrieve all or none of the 
  457. auxiliary data and execute the message. 
  458.  
  459.  
  460. ΓòÉΓòÉΓòÉ 23. SKN_INK_WIDTH_CHANGE ΓòÉΓòÉΓòÉ
  461.  
  462. This Notification Message is sent to the parent by the control whenever the ink 
  463. width for the drawing stroke has been changed.  Parameter mp2 will contain the 
  464. value of the width changed to. 
  465.  
  466. Example: 
  467.  
  468. LONG  ulWidth;
  469. case WM_CONTROL:
  470.        switch(SHORT2FROMMP(mp1))
  471.          {
  472.            case SKN_INK_WIDTH_CHANGE:
  473.            ulWidth = LONGFROMMP(mp2);
  474.            break;
  475.          }
  476.  
  477. Press "OK" to change the ink width and receive a SKN_INK_WIDTH_CHANGE 
  478. notification message. 
  479.  
  480.  
  481. ΓòÉΓòÉΓòÉ 24. SKM_GET_BITMAP ΓòÉΓòÉΓòÉ
  482.  
  483. This message creates a screen resolution bitmap image from the sketch control 
  484. and returns its handle. 
  485.  
  486. Example: 
  487.  
  488. HBITMAP   hBitmap;
  489.  
  490. hBitmap = (HBITMAP) WinSendMsg(hSKETCHControl,
  491.                     SKM_GET_BITMAP,
  492.                     NULL,
  493.                     NULL);
  494.  
  495. The handle returned can be used to save the bitmap to a file on disk. Press 
  496. "OK" to execute control message SKM_GET_BITMAP.  The bitmap handle will be 
  497. displayed and you may choose to save the bitmap to a file. 
  498.  
  499.  
  500. ΓòÉΓòÉΓòÉ 25. SKM_QUERY_BITMAP_SIZE ΓòÉΓòÉΓòÉ
  501.  
  502. This message returns the size of the bitmap that could be returned with the 
  503. SKM_GET_BITMAP or the SKM_RENDER_TO_CLIPBOARD messages.  The returned values 
  504. are dependent on whether the control has a border.  If the control does not 
  505. contain a border, the bitmap's size is the same size as the control's window. 
  506. If the control does contain a border, the bitmap's size will be reduced by 2 
  507. pixels in the X and Y directions. 
  508.  
  509. Returns:  size(ULONG)
  510. LOUSHORT = Size in pixels in the X direction.
  511. HIUSHORT = Size in pixels in the Y direction.
  512. FALSE   = An error occured.
  513.  
  514. Example: 
  515.  
  516. ULONG     ulSize;
  517. SHORT     sSizeX;
  518. SHORT     sSizeY;
  519.  
  520. ulSize = (ULONG) WinSendMsg(hSKETCHControl,
  521.                  SKM_QUERY_BITMAP_SIZE,
  522.                  NULL,
  523.                  NULL);
  524.  
  525. sSizeX = LOUSHORT(lSize);
  526. sSizeY = HIUSHORT(lSize);
  527.  
  528. Press "OK" to execute control message SKM_QUERY_BITMAP_SIZE. 
  529.  
  530.  
  531. ΓòÉΓòÉΓòÉ 26. SKM_QUERY_STROKE_LENGTH ΓòÉΓòÉΓòÉ
  532.  
  533. This message is used to retrieve the size, in bytes, of stroke(i). A zero 
  534. return code signals an error, such as stroke not available. 
  535.  
  536. Example: 
  537.  
  538. ULONG   ulLength;
  539. ULONG   ulStrokeNumber = 1;
  540.  
  541. ulLength = (ULONG) WinSendMsg(hSKETCHControl,
  542.                               SKM_QUERY_STROKE_LENGTH,
  543.                               MPFROMLONG(ulStrokeNumber),
  544.                               NULL);
  545.  
  546. Press "OK" to execute control message SKM_QUERY_STROKE_INK_WIDTH. 
  547.  
  548.  
  549. ΓòÉΓòÉΓòÉ 27. SKM_QUERY_STROKE_DATA ΓòÉΓòÉΓòÉ
  550.  
  551. This message is used to retrieve stroke(i) from the stroke database.  MP1 
  552. specifies the stroke(1..n), MP2 is a pointer to a buffer to hold the contents 
  553. of the stroke, including any aux data.  The buffer size is determined by a 
  554. SKM_QUERY_STROKE_LENGTH. 
  555.  
  556. Returns:
  557. TRUE  - Success
  558. FALSE - Failure
  559.  
  560. Example: 
  561.  
  562. ULONG  ulLength;
  563. ULONG  ulStrokeNumber = 1;
  564. BOOL   rc;
  565. PSKETCHSTROKEDEF pStrokeData;
  566.  
  567. ulLength = (LONG) WinSendMsg(hSKETCHControl,
  568.                              SKM_QUERY_STROKE_LENGTH,
  569.                              MPFROMLONG(ulStrokeNumber),
  570.                              NULL);
  571.  
  572. pStrokeData = malloc(ulLength);
  573. rc = (BOOL) WinSendMsg(hSKETCHControl,
  574.                        SKM_QUERY_STROKE_DATA,
  575.                        MPFROMLONG(ulStrokeNumber),
  576.                        MPFROMP(pStrokeData) );
  577.  
  578.  
  579. free(pStrokeData);
  580.  
  581. Press "OK" to execute control message SKM_QUERY_STROKE_DATA. 
  582.  
  583.  
  584. ΓòÉΓòÉΓòÉ 28. SKM_QUERY_STROKE_INK_COLOR ΓòÉΓòÉΓòÉ
  585.  
  586. This message returns the color attribute of stroke(i) in the stroke database. 
  587. Parameter mp1 specifies the stroke number(1..n) to query. 
  588.  
  589. Returns:
  590. LONG lColor - color of stroke number(1..n)
  591. CLR_ERROR -   Failure
  592.  
  593. Example: 
  594.  
  595. LONG  lColor;
  596. ULONG  ulStrokeNumber = 1;
  597.  
  598. lColor = (LONG) WinSendMsg(hSKETCHControl,
  599.                            SKM_QUERY_STROKE_INK_COLOR,
  600.                            MPFROMLONG(ulStrokeNumber),
  601.                            NULL );
  602.  
  603. Press "OK" to execute control message SKM_QUERY_STROKE_INK_COLOR. 
  604.  
  605.  
  606. ΓòÉΓòÉΓòÉ 29. SKM_QUERY_STROKE_INK_WIDTH ΓòÉΓòÉΓòÉ
  607.  
  608. This message returns the width attribute of stroke(i) in the stroke database. 
  609. Parameter mp1 specifies the stroke number(1..n) to query. 
  610.  
  611. Returns:
  612. ULONG ulWidth - width of stroke number(1..n)
  613. FALSE     - Failure
  614.  
  615. Example: 
  616.  
  617. ULONG   ulWidth;
  618. ULONG   ulStrokeNumber = 1;
  619.  
  620. ulWidth = (LONG) WinSendMsg(hSKETCHControl,
  621.                             SKM_QUERY_STROKE_INK_WIDTH,
  622.                             MPFROMLONG(ulStrokeNumber),
  623.                             NULL );
  624.  
  625. Press "OK" to execute control message SKM_QUERY_STROKE_INK_WIDTH.