MFC klasser för att kapsla in Scintilla redigeringskontroll


Original: http://www.naughter.com/scintilla.html

Dessa klasser ger en MFC omslag för Scintilla redigeringskontroll (http://www.scintilla.org). Denna kontroll ger ett open source plattformsoberoende redigeringskontroll. Några av de funktioner det ger inkluderar syntaxfärger, samtals tips, stag markering, Styles, marginaler och markörer för att nämna några. De som wrapper klasser gör det lättare att ta kontrollen i MFC-projekt på Windows.

Egenskaper
Redskap all den funktionalitet som tillhandahålls av Scintilla v3.3.3.
Den CScintillaCtrl wrapper klass observerar liknande format som den inbyggda i MFC „cedit“ wrapper klass.
Använder de direkta access funktioner som scintilla att förbättra prestanda. Multi gängade koden kan fortfarande använda sendmessage genom att ange FALSKT för bDirect parametern i wrapper metoder CScintillaCtrl.
Den generation av omslag metoder i klassen skapas med hjälp av en Windows script fil „ConvertScintillaiface.js“ ingår i nedladdningen. Detta tillåter den klass som lätt uppdateras när nya versioner av Scintilla frigörs.
De CScintillaView och CScintillaDoc klasser ger en komplett doc / view genomförande som kan släppas in i ett befintligt projekt i stället för den inbyggda i MFC rika redigera eller redigera kontrollklasser.
Ger inbyggd MFC stöd uthållighet.
Alla meddelanden som skickas med WM_NOTIFY och WM_COMMAND mappas till enklare att använda C + + virtuella funktioner i vyn wrapper klass.
Den CScintillaView klassen ger en implementering standard vikning.
Inkluderar full „Sök och ersätt“ stöd inklusive det reguljära uttrycket stödet från Scintilla. För att uppnå detta en „CScintillaFindReplaceDlg“ klassen implementeras som härrör från standard MFC „CFindReplaceDialog“.
Innehåller en komplett MFC utskrift genomförande i CScintillaView.
Inkluderar komplett stöd för standarddialog och skriva ut Utskriftsformat marginaler.
Inkluderar en ram för Print sidhuvud och sidfot.
Inkluderar stöd för alla standard MFC menyalternativ, till exempel Klipp ut, kopiera, klistra osv
Prov app visar hur toppnivå meddelanden ska vidarebefordras till Scintilla kontrollen.
Prov App visar också hur du skulle implementera automatisk komplettering och samtalstips i koden.
Klasserna dölja det faktum att Scintilla inte inbyggt har stöd för Windows Unicode (aka UTF16 eller UCS-2). Det sätt Scintilla stöder Unicode är genom en UTF8 API. Den „CScintillaCtrl“ wrapper klass sköter detaljerna för inrättandet av Unicode-teckentabell för Scintilla och översättning till och från UTF8 strängar. Om du tar en titt på „ScintillaCtrl.h“ header-fil, kommer du att se ett avsnitt som innehåller widechar strängversioner av de funktioner i Scintilla som innebär strängparametrar. Dessa widechar sträng funktioner är förpackade i en „_UNICODE“ pre-processor # ifdef. Internt dessa funktioner utför thunking som krävs för att kartlägga mellan Windows Unicode och UTF8-API för Scintilla. Observera att för att utföra denna thunking koden använder UTF8 översättnings funktionalitet som tillhandahålls av „WideCharToMultiByte“ och „MultiByteToWideChar“ Win32 API-anrop. Observera att UTF8 stöd för dessa Win32 API-anrop är begränsad till Windows 98, Windows ME, Windows NT 4.0 eller senare. Detta betyder inte att det inte är möjligt att använda wrapper klasser för Unicode i Windows 95 (om du skulle ordna att använda Microsoft Layer för Unicode aka Unicows). Detta bör inte vara en olägenhet för många människor. Observera också att denna nya funktion som introducerades i v1.15 inte på något sätt hindrar wrapper klasser från att fullt ut om du skulle använda dem i icke Unicode-läge på Windows 9x.

Den bifogade zip-filen innehåller wrapper klass källkod och en enkel MFC demoapplikation som utövar den klasserna funktionalitet.

Copyright
Det är tillåtet att inkludera källkoden i någon produkt (kommersiella, shareware, freeware eller på annat sätt) när produkten släpps i binär form.
Det är tillåtet att modifiera källkoden på något sätt du vill, förutom att du inte kan ändra detaljerna upphovsrätts högst upp i varje modul.
Om du vill distribuera källkoden med din ansökan, då är det endast tillåtet att distribuera versioner släpptes av författaren. Detta är för att upprätthålla en enda distributionspunkt för källkoden.

Uppdateringar
V1.0 (17 juli 1998)

Initial offentliggörande
V1.01 (18 mars 2004)

Uppdaterat prov App Sök nästa och Hitta tidigare markörfunktioner. Nu går korrekt till nästa och föregående markörer när en markering är på den aktuella raden.
Uppdaterat prov app bortgång av meddelanden till Scintilla från CMainFrame fönster på översta nivån.
V1.02 (6 juni 2004)

Uppdaterat klass att arbeta med Scintilla v1.61.
V1.03 (13 augusti 2004)

Gjort alla återstående icke virtuella funktioner relaterade till Sök och ersätt i CScintillaView virtuella.
CScintillaView :: TextNotFound funktionen är nu passerat de parametrar som används för sökningen. Tack till Dmitry Naumov för denna uppdatering.
Tog bort CScintillaView :: OnTextNotFound funktion som allt arbete för det sker med hjälp av TextNotFound funktionen.
Skapande av sök / ersätt-dialogen sker nu i en ny virtuell funktion „CScintillaViewCreateFindReplaceDialog“. Återigen tack till Dmitry Naumov för den här uppdateringen.
V1.04 (20 december 2004)

Uppdaterat klass att arbeta med Scintilla v1.62.
Prov app innehåller nu en gemensam kontroll 6 manifest
Prov app innehåller nu ett exempel på Scintilla automatisk komplettering. När du skriver „scintilla är“ fallet okänsligt en automatisk komplettering lista visas som låter „väldigt cool“, „lätt“ eller „hur coolt!“ som ska anges.
Prov app innehåller nu ett exempel på Scintilla calltips. När du för muspekaren över texten som är „författare“ fall okänsligt, är ett samtal spets med texten „PJ Naughter“ visas.
V1.05 (4 mars 2005)

Fix i CScintillaView :: Utskriv som nu reder ut frågan om förhandsgranskningen inte fungerar i MFC doc / visa omslag för Scintilla. Tack till Frank Kiesel för redovisning av denna korrigering.
30 maj 2005

Uppdaterat prov app för att visa hur man hanterar avbryter samtals tips om en uppfattning förlorar fokus, är storlek eller flyttas. Detta uppnås genom att hantera WM_ACTIVATE i vyn klassen och WM_SIZE och WM_MOVE i barnets ramen klassen. Tack till Markus Werle för spotting denna fråga.
V1.06 (10 juli 2005)

Tillsats av en virtuell funktion nämligen OnAutoCSelection som hanterar SCN_AUTOCSELECTION underrättelsemeddelande som introducerades i Scintilla v1.63. Tack till Dan Petitt för att föreslå den här uppdateringen.
Uppdaterat klass att arbeta med Scintilla v1.64.
En ny boolesk variabel som heter „m_bUseROFileAttributeDuringLoading“ har lagts till CScintillaView. Om detta värde är satt därefter koden kontrollerar skrivskyddad fil attribut i filen som läses, och om den är inställd, då dokumentet markeras som skrivskyddad genom Scintilla. Genom att göra detta alla försök att ändra dokumentet gör att den virtuella funktionen OnModifyAttemptRO att kallas. Detta gör att du kan be att göra filen läsa skriva eller att checka ut filen från ett versionshanteringssystem. Tack till Dan Petitt för att föreslå den här uppdateringen.
Demo app visar nu hur man använder SCN_MODIFYATTEMPTRO anmälan.
Fast ett antal varningar när koden sammanställs med hjälp av Visual Studio. NET 2003.
SetSavePoint och SetReadOnly samtal görs nu i CScintillaDoc :: OnSaveDocument istället för CScintillaView :: Serialisera. Detta säkerställer att kontrollen endast återställs efter en lyckad räddning.
V1.07 (3 januari 2006)

Uppdaterat klass att arbeta med Scintilla v1.67. Nya meddelanden inslagna inkluderar: SCI_MARKERADDSET, SCI_SETPASTECONVERTENDINGS, SCI_GETPASTECONVERTENDINGS, SCI_SELECTIONDUPLICATE och SCI_GETSTYLEBITSNEEDED.
Uppdaterade copyrightmeddelanden
Fixade en bugg där avgränsningslinjen i huvudet inte drogs på grund av problem i den kod som beräknar koordinaterna.
Inkom två medlemsvariabler som avgör om skrivaren sidhuvud och sidfot ska skrivas ut (CScintillaView :: m_bPrintHeader och CScintillaView :: m_bPrintFooter). Du kan naturligtvis uppnå samma resultat genom att härleda en klass från CScintillaView och genomföra tomma PrintHeader och PrinterFooter metoder!. Tack till Jason Elliott för att föreslå den här uppdateringen.
Optimerad konstruktion av medlemsvariabler i CScintillaView :: CScintillaView och i CScintillaFindReplaceDlg :: CScintillaFindReplaceDlg
CScintillaView :: OnReplaceAll sätter valet till 0,0 innan du gör text ersättare. Detta säkerställer att all text i ett dokument ersätts. Även denna funktion nu inte bry ringa TextNotFound i slutet av den funktionen om ersättare ägde rum. Tack till Jason Elliott för denna fina uppdatering.
En parameter som anger om texten ska bytas ut eller hittas skickas nu till CScintillaView :: TextNotFound.
V1.08 (6 januari 2006)

Tog bort några onödiga kod från CScintillaView :: OnEndPrinting. Tack vare Greg Smith för spotting denna fråga.
Uppdaterat dokumentationen att använda samma stil som webbplatsen
V1.09 (8 januari 2006)

Sök / Ersätt dialog och tillhörande tillstånd är nu bibehålls utanför CScintillaView. Det innebär att om du har flera CScintillaView s i din app, att de delar man hitta / dialogruta som är standard typ av UI du normalt skulle förvänta sig för detta ersätta. Tack vare Greg Smith som rapporterade problemet.
Sök / ersätt Dialogrutan är nu stängd när den sista CScintillaView förstörs. Tack vare Greg Smith som rapporterade problemet.
V1.10 (16 januari 2006)

Tog bort en oanvänd „rSetup“ variabel i CScintillaView :: Utskriv
Optimerad kod i CScintillaView :: Utskriv och CScintillaView :: OnFilePageSetup som bestämmer om metriska eller brittiska mått används. Nu en boolesk medlemsvariabel i CScintillaView kallas m_bUsingMetric vilken som standard plockar upp kontrollpanelen företräde ges. Detta gör att klienten kod för att ändra detta värde för att anpassa hur mätningarna specificeras. Tack vare Greg Smith som rapporterade problemet.
Fast ett litet stavfel i CScintillaView :: PrintHeader och PrintFooter. Också uttryckligen använder TA_TOP flaggan i kombination med TA_LEFT vid inställning justeringsinställningar för sidhuvud och sidfot text. Återigen tack till Greg Smith för rapportering här.
Scintilla hitta / byta tillstånd lagras nu i en standard global variabel istället för att använda CProcessLocal mall som det var med tidigare. Det krävs inte längre eftersom det användes för att ge Win32s stöd för MFC på äldre versioner av MFC. Eftersom Win32s inte längre stöds av MFC, finns det inget behov av att använda denna mekanism längre.
V1.11 (2 februari 2006)

Mindre uppdatering till CScintillaView att tillåta radering av text när det inte finns någonting som valts. Tack till Alexander Kirillov för redovisning av denna bugg.
V1.12 (14 mars 2006)

Uppdaterat klass att arbeta med Scintilla v1.68. Nya meddelanden inslagna inkluderar: SCI_CALLTIPUSESTYLE, SCI_SETCARETLINEBACKALPHA och SCI_GETCARETLINEBACKALPHA.
Uppdaterat den interna funktionen CScintillaView :: SameAsSelected att stödja reguljära uttryck. Tack vare Greg Smith för den här uppdateringen.
V1.13 (22 maj 2006)

Fixat ett flimmer fråga när CScintillaView storlek ändras. Tack till Michael Gunlock som rapporterade problemet.
V1.14 (5 juni 2006)

Uppdaterat klass att arbeta med Scintilla v1.69. Nya meddelanden inslagna inkluderar: SCI_MARKERSETALPHA, SCI_GETSELALPHA och SCI_SETSELALPHA.
V1.15 (6 juni 2006)

Uppdaterat wrapper klasser för att fungera korrekt när de sammanställs för Unicode.
V1.16 (29 juni 2006)

Bort gemensam kontroll 6 manifest som det står i konflikt med VC 2005 sammanställning.
Kod använder nu nya C + + stil kastar snarare än gammal stil C kastar behov.
Optimerad CScintillaCtrl constructor kod
Uppdaterat koden för att rengöra kompilering i VC 2005
Fixade en bugg i provprogrammet när du startar Förhandsgranska när de sammanställs med hjälp av VC 2005.
Kod stöder nu ihållande marginalinställningar. Tack till Krasimir Stoychev för denna uppdatering.
27 juli 2006

Mindre uppdatering till provet app för att fixa en ASSERT samband med formateringen av IDR_SCINTITYPE strängen resurs. Tack till Matt Spear som rapporterade problemet.
V1.17 (17 september 2006)

Uppdaterade CScintillaView :: OnReplaceSel och CScintillaView :: OnReplaceAll implementeringar använda TargetFromSelection och ReplaceTargetRE / ReplaceTarget. Tack till Matt Spear som rapporterade problemet.
Fixat en bugg i UTF82W (och W2UTF8) där om GetLine kallas i en Unicode bygga för slutet på filen (dvs en linje som har en längd på 0), den UTF82W funktionen skulle fördela ingen buffert, men ändå felaktigt skriva ett ett tecken avslutande null. Dessutom kommer den som ringer (GetLine) försöka avallokera bufferten som aldrig tilldelades. Tack till Scott Kelley för spotting denna otäck bugg.
Inkom av en GetLineEx metod som uttryckligen anger det första ordet värde i textsträngen till den maximala storleken. Detta undviker klientkoden från att behöva ta itu med de konstiga semantiken för EM_GETLINE meddelandet. Tack till Scott Kelley för att tillhandahålla denna trevligt tillägg.
Verifieringskod implementerar all funktionalitet i Scintilla v1.71
V1.18 (11 juni 2007)

Demo program som ingår i nedladdningen är nu kompilerad med VC 2005 SP1
Tillsats av en SCINTILLADOCVIEW_EXT_CLASS preprocessor för att tillåta de klasser som skall lättare användas i en förlängning DLL.
Tillsats av en SCINTILLACTRL_EXT_CLASS preprocessor makro för att tillåta de klasser som skall lättare användas i en förlängning DLL.
Uppdaterade copyright information.
CScintillaCtrl :: GetSelText använder nu CString :: GetBufferSetLength att slippa allokera en mellanliggande buffert. Tack till Jochen Neubeck för redovisning av denna optimering.
Uppdaterat klass att arbeta med Scintilla v1.73. Nya meddelanden inslagna inkluderar: SCI_STYLEGETFORE, SCI_STYLEGETBACK, SCI_STYLEGETBOLD, SCI_STYLEGETITALIC, SCI_STYLEGETSIZE, SCI_STYLEGETFONT, SCI_STYLEGETEOLFILLED, SCI_STYLEGETUNDERLINE, SCI_STYLEGETCASE, SCI_STYLEGETCHARACTERSET, SCI_STYLEGETVISIBLE, SCI_STYLEGETCHANGEABLE, SCI_STYLEGETHOTSPOT, SCI_GETSELEOLFILLED, SCI_SETSELEOLFILLED, SCI_GETHOTSPOTACTIVEFORE, SCI_GETHOTSPOTACTIVEBACK, SCI_GETHOTSPOTACTIVEUNDERLINE & SCI_GETHOTSPOTSINGLELINE
V1.19 (28 november 2007)

Uppdaterat klass att arbeta med Scintilla v1.75. Nya meddelanden inslagna inkluderar: SCI_INDICSETUNDER, SCI_INDICGETUNDER, nytt beteende för SCI_SETINDENTATIONGUIDES & SCI_GETINDENTATIONGUIDES, SCI_SETSCROLLWIDTHTRACKING, SCI_GETSCROLLWIDTHTRACKING, SCI_DELWORDRIGHTEND, SCI_SETCARETSTYLE, SCI_GETCARETSTYLE, SCI_SETINDICATORCURRENT, SCI_SETINDICATORVALUE, SCI_INDICATORFILLRANGE, SCI_INDICATORCLEARRANGE, SCI_INDICATORALLONFOR, SCI_INDICATORVALUEAT, SCI_INDICATORSTART, SCI_INDICATOREND, SCI_SETPOSITIONCACHE & SCI_GETPOSITIONCACHE
Provet automatisk komplettering i CScintillaDemoView :: OnCharAdded har förlängts för att visa en annan stil av automatisk komplettering. Tack till Alessandro Limonta för att föreslå den här uppdateringen.
V1.20 (19 mars 2008)

Uppdaterat klass att arbeta med Scintilla v1.76. Nya meddelanden inslagna inkluderar: SCI_COPYALLOWLINE.
Uppdaterade copyright information.
Uppdaterat kod för att rengöra kompilera på VC 2008.
Bort VC 6 stil Classwizard kommentarer från koden.
Uppdaterat prov app dokumentikon.
Fast en kopiera och klistra bugg i CScintillaView :: Utskriv där felaktiga marginalvärdet användes i beräkningen av „rfPrint.rc.left“. Tack till Steve Arnold för rapportering av denna bugg.
Fast en nivå 4 varning när koden kompileras på VC 6.
V1.21 (15 juni 2008)

Kod nu sammanställer rent använder Code Analysis (/ analysera)
Uppdaterat kod för att kompilera korrekt med hjälp _ATL_CSTRING_EXPLICIT_CONSTRUCTORS definierar
Koden nu bara har stöd för VC 2005 eller senare.
V1.22 (1 november 2008)

Uppdaterat klass att arbeta med Scintilla v1.77. Nya meddelanden inslagna inkluderar: SCI_GETCHARACTERPOINTER, SCI_SETKEYSUNICODE & SCI_GETKEYSUNICODE
Reworked alla nyckel Unicode funktioner som utsätter stränglängd ledning och implementerats om dem att använda CStringW utgångsparametrar. Motsvarande ASCII-versioner har också lämnats. Denna nya metod hjälper till att höja abstraktionsnivå som tillhandahålls av wrapper klass. Vid förfarandet behovet av GetLineEx funktion har tagits bort. Tack till Alexei Letov för att fråga den här uppdateringen.
V1.23 (20 januari 2009)

Uppdaterade upphovsrättsinformation
Fixat en bugg i CScintillaView :: SameAsSelected där den inte hantera det faktum att GetSelectionStart () och GetSelectionEnd () returnerar positionerna i UTF-8-kodad text som skulle resultera i fel i logiken för multibyte kodade tecken korrekt. Detta gjorde det omöjligt att ersätta multibyte teckensekvenser i sök / ersätt operationer. Tack till Alexei Letov för redovisning av denna bugg.
V1.24 (11 februari 2009)

Uppdaterat projektfilen för att ta bort VC 6 uppgraderings inställningar.
30 April 2009

Uppdaterat projektfilen för att ta bort den nu nedlagda manifestfilen. Tack vare „uppbringa“ som rapporterade problemet.
V1.25 (3 oktober 2009)

Fixat en bugg i CScintillaCtrl :: Skapa där en krasch kan inträffa i en Unicode bygga om CreateEx samtalet misslyckas (till exempel om den Scintilla DLL inte var laddad). Tack till Simon Smith för rapportering av denna bugg
Uppdaterat klass att arbeta med Scintilla v2.01. Nya meddelanden inslagna inkluderar: SCI_SETWRAPINDENTMODE, SCI_GETWRAPINDENTMODE, SCI_INDICSETALPHA, SCI_INDICGETALPHA, SCI_SETEXTRAASCENT, SCI_GETEXTRAASCENT, SCI_SETEXTRADESCENT, SCI_GETEXTRADESCENT, SCI_MARKERSYMBOLDEFINED, SCI_MARGINSETTEXT, SCI_MARGINGETTEXT, SCI_MARGINSETSTYLE, SCI_MARGINGETSTYLE, SCI_MARGINSETSTYLES, SCI_MARGINGETSTYLES, SCI_MARGINTEXTCLEARALL, SCI_MARGINSETSTYLEOFFSET, SCI_MARGINGETSTYLEOFFSET, SCI_ANNOTATIONSETTEXT, SCI_ANNOTATIONGETTEXT, SCI_ANNOTATIONSETSTYLE, SCI_ANNOTATIONGETSTYLE, SCI_ANNOTATIONSETSTYLES , SCI_ANNOTATIONGETSTYLES, SCI_ANNOTATIONGETLINES, SCI_ANNOTATIONCLEARALL, SCI_ANNOTATIONSETVISIBLE, SCI_ANNOTATIONGETVISIBLE, SCI_ANNOTATIONSETSTYLEOFFSET, SCI_ANNOTATIONGETSTYLEOFFSET, SCI_ADDUNDOACTION, SCI_CHARPOSITIONFROMPOINT, SCI_CHARPOSITIONFROMPOINTCLOSE, SCI_SETMULTIPLESELECTION, SCI_GETMULTIPLESELECTION, SCI_SETADDITIONALSELECTIONTYPING, SCI_GETADDITIONALSELECTIONTYPING, SCI_SETADDITIONALCARETSBLINK, SCI_GETADDITIONALCARETSBLINK, SCI_GETSELECTIONS, SCI_CLEARSELECTIONS, SCI_SETSELECTION, SCI_ADDSELECTION, SCI_SETMAINSELECTION, SCI_GETMAINSELECTION, SCI_SETSELECTIONNCARET, SCI_GETSELECTIONNCARET, SCI_SETSELECTIONNANCHOR , SCI_GETSELECTIONNANCHOR, SCI_SETSELECTIONNCARETVIRTUALSPACE, SCI_GETSELECTIONNCARETVIRTUALSPACE, SCI_SETSELECTIONNANCHORVIRTUALSPACE, SCI_GETSELECTIONNANCHORVIRTUALSPACE, SCI_SETSELECTIONNSTART, SCI_GETSELECTIONNSTART, SCI_SETSELECTIONNEND, SCI_GETSELECTIONNEND, SCI_SETRECTANGULARSELECTIONCARET, SCI_GETRECTANGULARSELECTIONCARET, SCI_SETRECTANGULARSELECTIONANCHOR, SCI_GETRECTANGULARSELECTIONANCHOR, SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE, SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE, SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE, SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE, SCI_SETVIRTUALSPACEOPTIONS, SCI_GETVIRTUALSPACEOPTIONS, SCI_SETRECTANGULARSELECTIONMODIFIER, SCI_GETRECTANGULARSELECTIONMODIFIER, SCI_SETADDITIONALSELFORE, SCI_SETADDITIONALSELBACK, SCI_SETADDITIONALSELALPHA, SCI_GETADDITIONALSELALPHA , SCI_SETADDITIONALCARETFORE, SCI_GETADDITIONALCARETFORE, SCI_ROTATESELECTION & SCI_SWAPMAINANCHORCARET

V1.26 (22 november 2010)

Uppdaterade copyright information.
Uppdaterat prov app för att rengöra sammanställa på VC 2010
Uppdaterat klass att arbeta med Scintilla v2.22. Nya meddelanden inslagna inkluderar: SCI_SETWHITESPACESIZE, SCI_GETWHITESPACESIZE, SCI_SETFONTQUALITY, SCI_GETFONTQUALITY, SCI_SETFIRSTVISIBLELINE, SCI_SETMULTIPASTE, SCI_GETMULTIPASTE, SCI_GETTAG, SCI_AUTOCGETCURRENTTEXT, SCI_SETADDITIONALCARETSVISIBLE, SCI_GETADDITIONALCARETSVISIBLE, SCI_CHANGELEXERSTATE, SCI_CONTRACTEDFOLDNEXT, SCI_VERTICALCENTRECARET, SCI_GETLEXERLANGUAGE, SCI_PRIVATELEXERCALL, SCI_PROPERTYNAMES, SCI_PROPERTYTYPE, SCI_DESCRIBEPROPERTY, SCI_DESCRIBEKEYWORDSETS. Dessutom fanns det vissa parameterförändringar i befintliga meddelanden.
28 mars 2011

Fixat ett problem med zip-filen nedladdning där vissa filer i zip-filen var från ett annat projekt. Tack vare „B.R“ som rapporterade problemet.
V1.27 (1 april 2011)

Uppdaterade copyright information.
Uppdaterat klass att arbeta med Scintilla v2.25. Nya meddelanden inslagna inkluderar: SCI_SETMARGINCURSORN & SCI_GETMARGINCURSORN
Uppdaterad CScintillaFindReplaceDlg :: Skapa använda AfxFindResourceHandle istället för AfxGetResourceHandle. Tack till Nissl Markus för rapportering här trevligt tillägg.
V1.28 (12 december 2011)

Uppdaterat klass att arbeta med Scintilla v3.0.2. Nya meddelanden inslagna inkluderar: SCI_MARKERSETBACKSELECTED, SCI_MARKERENABLEHIGHLIGHT, SCI_STYLESETSIZEFRACTIONAL, SCI_STYLEGETSIZEFRACTIONAL, SCI_STYLESETWEIGHT, SCI_STYLEGETWEIGHT, SCI_COUNTCHARACTERS, SCI_SETEMPTYSELECTION, SCI_CALLTIPSETPOSITION, SCI_GETALLLINESVISIBLE, SCI_BRACEHIGHLIGHTINDICATOR, SCI_BRACEBADLIGHTINDICATOR, SCI_INDICSETOUTLINEALPHA, SCI_INDICGETOUTLINEALPHA, SCI_SETMARGINOPTIONS, SCI_GETMARGINOPTIONS, SCI_MOVESELECTEDLINESUP, SCI_MOVESELECTEDLINESDOWN, SCI_SETIDENTIFIER, SCI_GETIDENTIFIER, SCI_RGBAIMAGESETWIDTH, SCI_RGBAIMAGESETHEIGHT, SCI_MARKERDEFINERGBAIMAGE , SCI_REGISTERRGBAIMAGE, SCI_SCROLLTOSTART, SCI_SCROLLTOEND, SCI_SETTECHNOLOGY, SCI_GETTECHNOLOGY & SCI_CREATELOADER Meddelanden tappade inkluderar: SCI_SETUSEPALETTE & SCI_GETUSEPALETTE
V1.29 (15 aug 2012)

Uppdaterade upphovsrättsinformation
Uppdaterat klass att arbeta med Scintilla V3.2.1. New meddelad insvept inkluderar: SCI_DELETERANGE, SCI_GETWORDCHARS, SCI_GETWHITESPACECHARS, SCI_SETPUNCTUATIONCHARS, SCI_GETPUNCTUATIONCHARS, SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR, SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR, SCI_GETRANGEPOINTER, SCI_GETGAPPOSITION, SCI_FINDINDICATORSHOW, SCI_FINDINDICATORFLASH & SCI_FINDINDICATORHIDE.
SetDocPointer metod använder nu ett tomrum * parameter istället för en int. Detta förhindrar att en pekare trunke fråga på 64bit plattformar. Tack till Kenny Liu som rapporterade problemet.
GetDocPointer metod nu också returnerar en void * i stället för en int returvärde
Uppdaterat koden för att rengöra kompilera på VC 2012
V1.30 (18 januari 2013)

Uppdaterade upphovsrättsinformation
Added virtuella metoder för SCN_INDICATORCLICK, SCN_INDICATORRELEASE, SCN_AUTOCCHARDELETED, SCN_AUTOCCANCELLED & SCN_HOTSPOTRELEASECLICK meddelanden. Tack till Markus Nissl för att fråga den här uppdateringen.
Klasserna är nu inkapslade i en Scintilla namnområde om SCI_NAMESPACE definierar definieras. Detta överensstämmer med hur den scintilla.h sidhuvudfilen opererar i närvaro av detta definiera. Tack till Markus Nissl för att fråga den här uppdateringen.
Uppdaterat klass att arbeta med Scintilla v3.2.4. Nya meddelanden inslagna inkluderar: SCI_GETSELECTIONEMPTY, SCI_RGBAIMAGESETSCALE, SCI_VCHOMEDISPLAY, SCI_VCHOMEDISPLAYEXTEND, SCI_GETCARETLINEVISIBLEALWAYS & SCI_SETCARETLINEVISIBLEALWAYS.
Uppdaterat prov app för att kompilera när SCI_NAMESPACE definierar definieras.
Provet app är nu byggd som standard med SCI_NAMESPACE definierade. Det betyder att alla klasser av författaren kommer att visas i „Scintilla“ namnrymden.
Demo app laddar nu SciLexer.dll från tillämpningen endast katalogen. Detta undviker DLL plantering säkerhetsfrågor.
V1.31 (23 februari 2013)

PrivateLexerCall metod använder nu ett tomrum * parameter istället för en int. Detta förhindrar att en pekare trunke fråga på 64bit plattformar. Tack till Simon Smith som rapporterade problemet.
5 April 2013

För dem som är intresserade „Alex Lunnak“ har översatt denna sida till tjeckiska. Du kan se översättningen på http://autip.com/lib/post/mfc-tidy-zapouzdeni-scintilla-editani-kontrolu.
V1.32 (16 juni 2013)

Uppdaterat klass att arbeta med Scintilla v3.3.3. Nya meddelanden inslagna inkluderar: SCI_SCROLLRANGE, SCI_FOLDLINE, SCI_FOLDCHILDREN, SCI_EXPANDCHILDREN, SCI_FOLDALL, SCI_SETAUTOMATICFOLD, SCI_GETAUTOMATICFOLD, SCI_AUTOCSETORDER, SCI_AUTOCGETORDER, SCI_RELEASEALLEXTENDEDSTYLES, SCI_ALLOCATEEXTENDEDSTYLES, SCI_SETLINEENDTYPESALLOWED, SCI_GETLINEENDTYPESALLOWED, SCI_GETLINEENDTYPESACTIVE, SCI_GETLINEENDTYPESSUPPORTED, SCI_ALLOCATESUBSTYLES, SCI_GETSUBSTYLESSTART, SCI_GETSUBSTYLESLENGTH, SCI_FREESUBSTYLES, SCI_SETIDENTIFIERS, SCI_DISTANCETOSECONDARYSTYLES & SCI_GETSUBSTYLEBASES.
Uppdaterat alla MFC MESSAGE_MAP s att använda modern C + + stil till referensmetoder för en klass.
Fast en hög överskrivning bugg i de båda versionerna av GetSelText (BOOL bDirect) metoden. Koden nu använder rätt SCI_GETSELTEXT (0,0) för att bestämma buffertstorleken för att hämta data till. Tack till Bengt Vagnhammar för redovisning av denna bugg.

Comments are closed.