home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / DELPHI / LEDIT108.ZIP / FAQ.TXT < prev    next >
Encoding:
Text File  |  1996-08-10  |  5.3 KB  |  124 lines

  1. LEdit Version 1.08
  2.  
  3.  
  4. Frequently Asked Questions:
  5.  
  6.  
  7.  
  8. Question: I have the LEdit package with the Delphi VCL and entered code into
  9. the OnTimeToLoadText event that causes my program to lock up. Why?
  10.  
  11. Answer: It is likely that you are setting the Filename property from within
  12. the OnTimeToLoadText event. This cannot be done. If you set the
  13. Filename property in the OnTimeToLoadText event, it will cause your
  14. program to go into an endless loop.
  15.  
  16. --------------------------------------------------------------------------------
  17.  
  18. Question: My program that uses one of the LEdit wrappers has developed a
  19. memory leak and I cannot find anything wrong with my code. How can
  20. I fix this?
  21.  
  22. Answer: When using the Text and TextHandle properties in the LEdit 
  23. wrappers, memory is allocated to hold the text. We do not free this 
  24. memory since you may want to do something else with it. You must free 
  25. this memory yourself by calling the BurnHandle method and passing it 
  26. the memory Handle returned by the Text and TextHandle properties.
  27.  
  28. --------------------------------------------------------------------------------
  29.  
  30. Question: If I choose a background color that is, for example light 
  31. yellow, the BGcolor is not displayed (with paintmode NORMAL). Dark 
  32. yellow works fine. If I choose PaintMode=Direct then it looks fine
  33. until I scroll. Then it all becomes messed up.
  34.  
  35. Answer: In Windows there are pure colors and mixed colors. Pure colors
  36. are maintained by the video adapter. Mixed colors are created by 
  37. Windows by interleaving pixels of different pure color. LEdit (and all
  38. text drawing functions) maintains only pure colors. For most adapters
  39. this is only 16 basic colors. You can work directly with the palettes
  40. to make more true colors if you have a 256 or higher color adapters. 
  41. For true-color video adapters all colors are automatically pure.
  42.  
  43. If you choose PaintMode=Direct, LEdit does not draw the background 
  44. at all. You need to draw the background yourself in the OnPaint event.
  45. This causes it to flicker. You may want to switch to 
  46. PaintMode=UseMemoryDC. This will eliminate the flicker but will slow
  47. down the speed a little.
  48.  
  49. --------------------------------------------------------------------------------
  50.  
  51. Question: Is there a way to change the caption in the message boxes from
  52. LEDIT? It now displays Ledit V1.01 custum control. I want to place
  53. something else in it.
  54.  
  55. Answer: Sure. You can do it directly by changing the resources inside 
  56. the LEDIT.DLL if you have a safe tool to do it with, like Resource 
  57. Workshop. If not, we can change it for you. Just let us know what to 
  58. change.
  59.  
  60. --------------------------------------------------------------------------------
  61.  
  62. Question: When I Close the application I want to give the user a way 
  63. to save the text. But the Modified property does not work the way I 
  64. expected. Anyway can you show me how I can do this? And if the user 
  65. wants to save a file and clicks on Cancel, the Modified property is 
  66. not changed? This is with the VCL.
  67.  
  68. Answer: Take a look at the CanClose property. It will do all the work
  69. for you. It determines if you should close or if the user clicked 
  70. "Cancel". If you want to change its behaviour, you may want to look at
  71. the OnGoingToClose and OnAskIfStoreFile events.
  72.  
  73. --------------------------------------------------------------------------------
  74.  
  75. Question: FindBrace doesn't seem to work in the VCL, even in your example 
  76. program. How do I make it work?
  77.  
  78. Answer: This is because of a change we had to make in V1.04 to the 
  79. BraceStyle type. We had to rename all the options to 'br' instead of 
  80. 'bs'. We failed to update the example. If you change all the 'bs' 
  81. options to 'br' for BraceType in the example, it should fix the 
  82. problem.
  83.  
  84. The way to tell if it is working is to right click in the LEdit window, 
  85. bringing up the popup menu. If the cursor is not on a starting brace 
  86. then the 'Find Brace' option will not be available. If the cursor is on
  87. a brace, the 'Find Brace' option on the popup menu will be available. 
  88. If you select it, the cursor will jump to the opposite brace. In the 
  89. Pascal example, the starting brace is the word 'begin' and the ending 
  90. brace is the word 'end' If the cursor is on either of these words, 
  91. then the 'Find Brace' option will be available.
  92.  
  93. --------------------------------------------------------------------------------
  94.  
  95. Question: How do I do HTML syntax highlighting in LEdit with the VCL?
  96.  
  97. Answer: This is very easy to do in LEdit. Basically, the way it works is
  98. that you treat everything outside the HTML tags as comments and then
  99. color the tags whichever color you wish. To do this, you first need to
  100. set the Syntax property to:
  101.  
  102.   0001>1<
  103.  
  104. Then place the following code into the OnControlHighlight event.
  105.  
  106.   ForeClr := FTagForeColor;
  107.   BackClr := FTagBackColor;
  108.   LEdit1.MsgResult := 3;
  109.  
  110. FTagForeColor and FTagBackColor are variables defined as:
  111.  
  112.   FTagForeColor: TColor;
  113.   FTagBackColor: TColor;
  114.  
  115. Place the foreground and background colors into these variables and 
  116. the HTML tags will be colored this color.
  117.  
  118. Finally, set the StartInComments property to True.
  119.  
  120. This is all that is needed to have color syntax highlighting of HTML
  121. tags. A new example of this is now included in the Delphi packages.
  122.  
  123. --------------------------------------------------------------------------------
  124.