Hey Bjørn,
nu er jeg rimelig rusten i VB, men har brugt Richedit en del i Delphi, herunder med alle de mere advancerede funktioner, da jeg skrev et component i Delphi til en IRC client.
Så lidt kan jeg da huske om hvordan man bruger Richedit, men du må selv skrive koden
Det der er vigtigt ved Richedit og implementering, er at du bruger SendMessage() funktionen, da det er det hurtigheste. Ofte er det et problem med implementeringen af funktionerne direkte i komponentet at det tager 1000 år for det at køre den samme funktion.
så here goes:
Du benytter dig af EM_SETPARAFORMAT som SendMessage, hvortil du sender det som PARAFORMAT2 strukturen, såfremt Richedit controllen på computeren kører version 2.0 eller nyere.
har du brugt SendMessage før?
hvis ikke, bruges det således:
lResult = SendMessage(
// returns LRESULT in lResult
(HWND) hWndControl,
// handle to destination control
(UINT) EM_SETPARAFORMAT,
// message ID
(WPARAM) wParam,
// = (WPARAM) () wParam;
(LPARAM) lParam
// = (LPARAM) () lParam;
);
SendMessage(Richedit.Handle, EM_SETPARAFORMAT, NULL, ParaFormat);
dit paraformat sætter du til følgende:
typedef struct _paraformat {
UINT cbSize;
DWORD dwMask;
WORD wNumbering;
WORD wEffects;
LONG dxStartIndent;
LONG dxRightIndent;
LONG dxOffset;
WORD wAlignment;
SHORT cTabCount;
LONG rgxTabs[MAX_TAB_STOPS];
LONG dySpaceBefore;
LONG dySpaceAfter;
LONG dyLineSpacing;
SHORT sStyle;
BYTE bLineSpacingRule;
BYTE bOutlineLevel;
WORD wShadingWeight;
WORD wShadingStyle;
WORD wNumberingStart;
WORD wNumberingStyle;
WORD wNumberingTab;
WORD wBorderSpace;
WORD wBorderWidth;
WORD wBorders;
} PARAFORMAT2;
#define wEffects wReserved
cbSize: SizeOf(ParaFormat2)
dwMask: PFM_ALIGNMENT
wAlignment: PFA_CENTER
derved skulle det meget gerne centreres.
Dokumentation:
Richedit:
http://msdn2.microsoft.com/en-us/library/bb787605.aspxSendMessage:
http://msdn2.microsoft.com/en-us/library/ms644950.aspxPARAFORMAT2 strukturen:
http://msdn2.microsoft.com/en-us/library/bb787942.aspxEM_SETPARAFORMAT:
http://msdn2.microsoft.com/en-us/library/bb774276.aspxListen over Richedit versioner:
http://blogs.msdn.com/murrays/archive/2006/10/14/richedit-versions.aspx
Håber det kan bruges =)
Indlæg senest redigeret d. 01.11.2007 09:06 af Bruger #1330