2016-11-30 7 views
1

C++에서 wxStyledTextCtrl로 스마트 들여 쓰기를 수행하는 방법을 아는 사람이 있습니까? wxStyledTextCtrl (Scintilla)의 들여 쓰기 및 스마트 들여 쓰기

나는 분명 성공하지 않고 다음에 다양한 변화를 시도하고있다 :

_textEd->SetProperty(wxT("indentation.smartindenttype"), wxT("indentation:simple")); 
_textEd->SetProperty(wxT("indentation.indentwidth"), wxT("4")); 
_textEd->SetProperty(wxT("indentation.tabwidth"), wxT("4")); 
_textEd->SetProperty("spell.mistake.indicator", "style:squigglelow"); 

참고 : Indentation and smart indent in ScintillaNET은 .NET이 문제를 다룹니다.

+0

stc 샘플이 어떻게 작동합니까? wx 버전과 OS/툴킷은 무엇입니까? – Igor

답변

1

SetProperty 메서드는 렉서에 대한 추가 설정을 추가하는 데 사용됩니다. 일반적으로 코드 폴딩과 관련된 설정에 사용됩니다. 컨트롤 자체의 속성을 설정하는 데는 사용되지 않습니다. wxStyledTextCtrl의 속성을 설정하려면 standard methods을 사용하는 것이 좋습니다.

_textEd->SetProperty(wxT("indentation.indentwidth"), wxT("4")); 
_textEd->SetProperty(wxT("indentation.tabwidth"), wxT("4")); 

아마 것 같은 뭔가 : '_textEd->하는 SetProperty (wxT ("indentation.smartindenttype"), wxT ("들여 쓰기

_textEd->SetIndent(4); 
_textEd->SetTabWidth(4); 

예를 들어, 나는 선을 추측 간단한 ")); ', 나는 smartindenttype이 무엇인지 전혀 모른다. 아마도 scintilla.net에 추가 된 확장 기능일까요? 그 설정이 .net에서 무엇을하는지 설명 할 수 있다면 다른 메소드 호출을 사용하여 동일한 작업을 수행하는 것을 도울 수 있습니다.

마찬가지로, 나는 '_textEd-> SetProperty ("spell.mistake.indicator", "style : squigglelow"); wxStyledTextCtrl을 가진 아날로그가 있습니다. 포함 된 렉서에는 맞춤법 검사기가 없습니다.