trichview.support
Re: how can I limit the the document's vertical size? |
Author |
Message |
Sergey Tkachenko |
Posted: 06/10/2003 22:04:15 This code allows to resize RichView so that it _approximately_ corresponds to the size on the page. Wrapping in the same places as on the paper is not 100% guaranteed. Using: var w, h: Integer; // rvoClientTextWidth must be excluded from RichViewEdit1.Options. GetPageSize(RVPrint1, w,h); RichViewEdit1.MaxTextWidth := w-RichViewEdit1.LeftMargin-RichViewEdit1.RightMargin; RichViewEdit1.Height := h { + border width }; RichViewEdit1.Format; procedure GetPageSize(RVPrint: TRVPrint; var Width, Height: Integer); var DC: HDC; phoX, phoY, phW, phH, lpy, lpx, LM, TM, RM, BM: Integer; begin DC := RV_GetPrinterDC; // from PtblRV unit Width := GetDeviceCaps(DC, HORZRES); Height := GetDeviceCaps(DC, VERTRES); lpy := GetDeviceCaps(DC, LOGPIXELSY); lpx := GetDeviceCaps(DC, LOGPIXELSX); phoX := GetDeviceCaps(DC, PHYSICALOFFSETX); phoY := GetDeviceCaps(DC, PHYSICALOFFSETY); phW := GetDeviceCaps(DC, PHYSICALWIDTH); phH := GetDeviceCaps(DC, PHYSICALHEIGHT); LM := MulDiv(RVPrint.LeftMarginMM, 5*lpx, 127)- phoX; TM := MulDiv(RVPrint.TopMarginMM, 5*lpy, 127)- phoY; RM := MulDiv(RVPrint.RightMarginMM, 5*lpx, 127)- (phW-(phoX+Width)); BM := MulDiv(RVPrint.BottomMarginMM, 5*lpy, 127)- (phH-(phoY+Height)); if LM<0 then LM := 0; if TM<0 then TM := 0; if RM<0 then RM := 0; if BM<0 then BM := 0; dec(Width, LM+RM); dec(Height, TM+BM); DeleteDC(DC); DC := GetDC(0); Width := MulDiv(Width, GetDeviceCaps(DC, LOGPIXELSX), lpx); Height := MulDiv(Height, GetDeviceCaps(DC, LOGPIXELSY), lpy); ReleaseDC(0, DC); end; "Victor" <[email protected]> wrote in message news:[email protected]... > Actually, I just want a A4 PageSize Editor to provide a WSWG functions. > "Sergey Tkachenko" <[email protected]> д���ʼ� > news:[email protected]... > > Try the following: > > In OnChange, check DocumentHeight property. If it's too large, call Undo. > > > > > > You do you want single line editor? > > > > > Hi I want limit the RichviewEdit's document's vertical size.I mean I > want > > > prevent that user input some thing will change the document's vertical > > size. > > > how can I do it? > > > > > > > > > > > > |
Powered by ABC Amber Outlook Express Converter