003
22.09.2002, 12:23 Uhr
Uwe
C/C++ Master (Administrator)
|
Hallo, kommt darauf was für eine Ansichtsklasse Du nutzt. Ich würde die Sache über CRichEditView machen und die Callback bedienen (etwa so):
C++: |
DWORD __stdcall MEditStreamInCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb) { CString *psBuffer = (CString *)dwCookie;
if (cb > psBuffer->GetLength()) cb = psBuffer->GetLength();
for (int z=0;z<cb;z++) { *(pbBuff+z) = psBuffer->GetAt(z); }
*pcb = cb;
*psBuffer = psBuffer->Mid(cb);
return 0; }
|
welche eine globale Funktion darstellt. In Deiner Ansicht erfolgt dann der Zugriff:
C++: |
void CSyntaxView::OnDateiDateiloeschen() { CString sWriteText;
sWriteText="{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1031{\\fonttbl{\\f0\\froman\\fprq2\\fcharset0 Times New Roman;}{\\f1\\fnil\\fcharset0 Times New Roman;}}{\\colortbl ;\\red0\\green0\\blue255;}\\viewkind4\\uc1\\pard\\cf1\\f0\\fs20 unlink\\cf0\\f1 '""'""'\\par}";
EDITSTREAM es;
es.dwCookie = (DWORD)&sWriteText; es.pfnCallback = MEditStreamInCallback;
GetRichEditCtrl().StreamIn(SF_RTF,es); }
|
Wenn Du aber z.B. Schlüsselworte festlegen willst, würde ich das aus einer Textdatei einlesen, so bleibt Dein Editor für andere Sprachen erweiterbar. -- "Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."
Bis dann... Uwe |