Change line spacing in winform RichTextBox
Tag : chash , By : Senthil
Date : March 29 2020, 07:55 AM
To fix the issue you can do There's actually a lot that the Windows Forms RichTextBox doesn't expose. If you have the HWND (Handle property) to the control, you can use the SendMessage API to send the EM_SETPARAFORMAT message to play with the formatting. In particular the PARAFORMAT2 structure does have some line spacing options that may be relevant. You will have to get your hands dirty with interop though.
|
Richtextbox draw an rtf line
Tag : chash , By : Frank Bradley
Date : March 29 2020, 07:55 AM
Hope this helps There are a few different ways to create a horizontal line in RTF. Depending on the control or program being used your mileage may vary. RTF implementations in controls and programs tend to simply ignore markup that they don't know how to deal with. By drawing polygons: {\pard{\*\do
\dobxcolumn \dobypara \dodhgt7200
\dpline \dpptx0 \dppty0 \dpptx7200
\dppty0 \dpx0 \dpy0 \dpxsize7200
\dpysize0 \dplinew15
\dplinecor0 \dplinecog0 \dplinecob0 }\par}
{\pard \brdrb \brdrs \brdrw10 \brsp20 \par}
{\pard\par}
{\pard \li2268 \ri567
\brdrb \brdrs \brdrw10 \brsp20 \par}
{\pard\par}
{\pict\wmetafile8\picw26\pich26\picwgoal20000\pichgoal15
0100090000035000000000002700000000000400000003010800050000000b0200000000050000
000c0202000200030000001e000400000007010400040000000701040027000000410b2000cc00
010001000000000001000100000000002800000001000000010000000100010000000000000000
000000000000000000000000000000000000000000ffffff00000000ff040000002701ffff0300
00000000
}
|
How to Draw a "Wavy Line" Using the Cursor / Mouse
Tag : flash , By : Sinisa Ruzin
Date : March 29 2020, 07:55 AM
will be helpful for those in need Please try the following code. It is not ideal, but it can probably give you some idea. package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Point;
public class CurvedLineTest extends Sprite
{
private static const DRAW_STEP:Number = 2;
private var curveWidth:Number;
private var curvePeriod:Number;
private var smoothing:Number;
private var prevPos:Point = new Point();
private var curveLength:Number;
private var smoothedN:Point = new Point();
public function CurvedLineTest(curveWidth:Number = 10, curvePeriod:Number = 15, smoothFactor:Number = 80)
{
this.curveWidth = curveWidth;
this.curvePeriod = curvePeriod;
this.smoothing = Math.min(Math.max(smoothFactor, 0), 100) / 100;
if( stage )
{
onAddedToStage();
}
else addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
// test: simulating fast mouse movements
moveToPoint(10, 10);
drawToPoint(15, 15);
drawToPoint(35, 35);
drawToPoint(60, 90);
drawToPoint(150, 190);
drawToPoint(350, 300);
}
private function onAddedToStage(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage);
}
private function onRemovedFromStage(e:Event):void
{
removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage);
stage.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function onMouseDown(e:MouseEvent):void
{
moveToPoint(mouseX, mouseY);
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
}
private function onMouseMove(e:MouseEvent):void
{
drawToPoint(mouseX, mouseY);
e.updateAfterEvent();
}
private function moveToPoint(x:Number, y:Number):void
{
prevPos.x = x;
prevPos.y = y;
curveLength = 0;
graphics.moveTo(x, y);
}
private function drawToPoint(x:Number, y:Number):void
{
// displacement vector
var d:Point = new Point(x - prevPos.x, y - prevPos.y);
// length of displacement vector
var dl:Number = Math.sqrt(d.x * d.x + d.y * d.y);
// normalized displacement vector
var nd:Point = new Point(d.x / dl, d.y / dl);
// normal to the displacement vector
var cn:Point = normal(nd);
var currentDl:Number = DRAW_STEP;
while( currentDl <= dl )
{
// incrementing base curve length by the length of the step displacement
curveLength += DRAW_STEP;
// base curve coords of the current step
var stepX:Number = prevPos.x + nd.x * DRAW_STEP;
var stepY:Number = prevPos.y + nd.y * DRAW_STEP;
// smoothing the normal to prevent ragged lines
smoothedN.x = smoothing * smoothedN.x + (1 - smoothing) * cn.x;
smoothedN.y = smoothing * smoothedN.y + (1 - smoothing) * cn.y;
// wave form
var wave:Number = curveWidth * Math.sin(Math.PI * curveLength / curvePeriod);
// adding normal component to the current point of base curve
var wavedX:Number = stepX + wave * smoothedN.x;
var wavedY:Number = stepY + wave * smoothedN.y;
// drawing waved curve
graphics.lineStyle(1.5, 0);
graphics.lineTo(wavedX, wavedY);
// drawing base curve
graphics.lineStyle(0, 0xBB2233, 0.5);
graphics.moveTo(prevPos.x, prevPos.y);
graphics.lineTo(stepX, stepY);
// drawing normal
graphics.lineStyle(0, 0x3322BB, 0.2);
graphics.moveTo(prevPos.x, prevPos.y);
graphics.lineTo(stepX + wave * smoothedN.x, stepY + wave * smoothedN.y);
graphics.moveTo(wavedX, wavedY);
// remembering current base curve point
prevPos.x = stepX;
prevPos.y = stepY;
currentDl += DRAW_STEP;
}
}
/**
* Calculates normal to the given vector (in clockwise direction).
*/
private function normal(vec:Point):Point
{
var d:Number = Math.sqrt(vec.x * vec.x + vec.y * vec.y);
return new Point(-vec.y / d, vec.x / d);
}
private function onMouseUp(e:MouseEvent):void
{
graphics.clear();
stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
}
}
}
|
How To Draw A Line In A RichTextBox Control
Date : March 29 2020, 07:55 AM
help you fix your problem The RichTextBox control is not a graphical control like a canvas. When I have to do something like what you are describing, I change the background color of the text in question.
|
How to draw wavy line on iOS device
Tag : iphone , By : PatrickSimonHenk
Date : March 29 2020, 07:55 AM
|