EMF rijke Edit, opslag van documenten in het EMF, soms een rijke Edit inhoud, misschien wil je opslag rijke redactionele controles in de elementen van de inhoud van het dossier.Dit document beschrijft een methode voor de opslag van dit soort, van de inhoud van de controle op elke bladzijde van versterkte elementen van de dossiers.De volgende code geeft aan een methode om de redactionele controle aan de inhoud van het dossier voor de elektromagnetische velden (elke pagina 's):,, eenheid richeditemfprint; interface, ramen, , SysUtils, rijke Edit, commdlg, klasse, nieuws, comctrls;, het programma richedittometafile (volgens de analyse van de bron; afilename:: (...), de uitvoering van getprinterdc (;) //////////////terug, en van dc gemeenschappelijke dialoog met de printer printer, de functie getprinterdc:HDC; var, de PDLG:tprintdlg; beginnen, fillchar (PDLG, groot (tprintdlg) 0); pdlg.lstructsize:=, groot (tprintdlg); PDLG, . Merk: = pd_returndc, printdlg; (PDLG); en resultaten: = PDLG. HDC;, een einde te maken aan de lengte van de;, /karakter heeft, in de tekst voor de controle, de functie getrtftextlength (hwndrtf:hWnd): integer, b;De resultaten beginnen, : = sendmessage (hwndrtf, wm_gettextlength, 0, 0); en een einde te maken aan de controle van rtftoemf vertellen, /; ///////de schilderijen zijn van omstandigheden,, /////// hrefdc parameters voor het creëren van een EMF: /////// , pszmetafilename nieuwe naam is EMF (nul), /////// prcmeta voor createenhmetafile (), de juiste) /////// in, eenheden (niet nul) /////// hwndrtf is de rentevoet, /////// begint karakter / verzoek is een alleenstaande, positie van ontvangen. /////// volgende karakter van Het drukken van deze functie, rtftoemf (hrefdc:HDC; pszmetafilename:LPCTSTR; prcmeta: weg, hwndrtf:hWnd;启动:整数;var悬而未决:整数):增强原文件句柄;,VaR, hmetadc:HDC;, FR:formatrange;, ntextprinted:整数;,开始, /创建EMF, hmetadc:= createenhmetafile(hrefdc,pszmetafilename,@ prcmeta,零),如果( ;hmetadc = 0)然后, 开始, 结果:= 0;, 退出;最后, ;, zeromemory(@ FR,sizeof(FR), );//设置页面(转换为缇), fr.rcpage。顶 := prcmeta左* 1440 DIV。2540;,, fr.rcpage。左 := prcmeta。顶* 1440 DIV 2540;, fr.rcpage。右 := prcmeta。右1440 DIV 2540;, fr.rcpage。底 := prcmeta。底×1440 DIV 2540, ; /instellingen geen rand, fr.rc:= fr.rcpage;, /die tekst drukken als het begin van het einde van het dossier, fr.chrg.cpmin:= beginnen, ; fr.chrg.cpmax:= 1; , fr.hdctarget:= hmetadc;, fr.hdc:= fr.hdctarget;, /laten om zelf. Voor ons ($) dc, ntextprinted:= sendmessage (hwndrtf, em_formatrange, 1, integer (@ (FR))); en Peng: = ntextprinted;, resultaten: = closeenhmetafile (hmetadc); aan het einde van dumprtftopagedemfs -,, /; toont aan Dat het gebruik van het rtftoemf () de energiemeetfunctie, /////// elke bladzijde van een rtf /parameters: , / hwndrtfcontrol - controle / szemffiletitlebase bibliotheekHet aantal documenten dumprtftopagedemfs EMF aanvullende programma (hwndrtfcontrol:hwnd; szemffiletitlebase:LPTSTR); var, de szmetaname: touw, ; nrtftextlength, start, nPage: gehele getal;, hrefdc:HDC;, rcmeta:;, HEMF: versterking van het origineel van het ; beginnen, /eerste, vast te stellen hoeveel karakter in rtf, nrtftextlength:= getrtftextlength (hwndrtfcontrol); , /om verwijzing van dc (op basis van de printer), hrefdc:= getprinterdc (); , /een rechthoek van 0,01 mm van de eenheid, rcmeta:=. Rechthoekige (0, 0, (hrefdc GetDeviceCaps, HORZSIZE) * 100, GetDeviceCaps (hrefdc, VERTSIZE) × 100); , nPage:= 0;, beginnen: = 0; , en start <;nrtftextlength做, /环而我们没有达到在控制,最后 开始, /建立一个文件名为该页, szmetaname:=格式(“%s d.emf,[ szemffiletitlebase,nPage ]);//调用函数, 以上在电动势,吸引这部分的RTF HEMF:= rtftoemf(hrefdc、pchar(szmetaname),rcmeta,hwndrtfcontrol,, 启动,启动);, /清理, deleteenhmetafile(HemF);, 公司(nPage);, 如果启动= 0, 打破;, 结束;结束;,,程序richedittometafile(对照:源码分析;afilename:字符串),开始, dumpr;Tftopagedemfs (acontrol.handle, pchar (afilename);,,, voorbij, voorbij.
Hoe bewaart u op de inhoud van de documenten
Previous:- geen pond teken?