ContextNode.CreateSubNode 메서드
업데이트: 2007년 11월
새 자식 ContextNode 개체를 만듭니다.
네임스페이스: Microsoft.Ink
어셈블리: Microsoft.Ink.Analysis(Microsoft.Ink.Analysis.dll)
구문
‘선언
Public Function CreateSubNode ( _
type As Guid _
) As ContextNode
‘사용 방법
Dim instance As ContextNode
Dim type As Guid
Dim returnValue As ContextNode
returnValue = instance.CreateSubNode(type)
public ContextNode CreateSubNode(
Guid type
)
public:
ContextNode^ CreateSubNode(
Guid type
)
public ContextNode CreateSubNode(
Guid type
)
public function CreateSubNode(
type : Guid
) : ContextNode
매개 변수
- type
형식: System.Guid
만들 컨텍스트 노드의 형식입니다. ContextNodeType 클래스에 정의된 GUID 중 하나를 사용하여 만들려는 형식을 지정합니다.
반환 값
형식: Microsoft.Ink.ContextNode
부모가 이 ContextNode인 새로 만든 ContextNode 개체입니다.
설명
기존 자식 노드가 이미 있는 경우 새로 만든 ContextNode는 SubNodes 컬렉션의 마지막 자식으로 추가됩니다.
응용 프로그램에서 ImageNode 노드가 필요할 때 필기 영역을 추가하는 경우와 같이 잘못된 노드를 추가하려고 하면 CreateSubNode에서 예외가 throw됩니다.
예제
이 예제에서는 모든 줄을 별도의 자체 단락에 배치합니다. InkAnalyzer인 theInkAnalyzer의 줄을 사용하여 각 줄에 대한 단락 하위 노드를 새로 만들고 줄의 부모를 이러한 새 단락으로 재지정합니다.
' Take each line and make it its own paragraph
Dim originalParagraphs As ContextNodeCollection = _
theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.Paragraph)
Dim lines As ContextNodeCollection = _
theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.Line)
Dim lineNode As ContextNode
For Each lineNode In lines
' Create a new alignment level and paragraph
Dim lineParagraph As ContextNode = lineNode.ParentNode
Dim writingRegion As ContextNode = lineParagraph.ParentNode
Dim newParagraph As ParagraphNode = _
CType(writingRegion.CreateSubNode(Microsoft.Ink.ContextNodeType.Paragraph), ParagraphNode)
' Reparent the line
lineNode.Reparent(newParagraph)
Next lineNode
' Remove original paragraphs and alignment nodes
Dim originalParagraph As ContextNode
For Each originalParagraph In originalParagraphs
Dim originalAlignmentLevel As ContextNode = originalParagraph.ParentNode
originalAlignmentLevel.DeleteSubNode(originalParagraph)
originalAlignmentLevel.ParentNode.DeleteSubNode(originalAlignmentLevel)
Next originalParagraph
// Take each line and make it its own paragraph
ContextNodeCollection originalParagraphs =
theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.Paragraph);
ContextNodeCollection lines =
theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.Line);
foreach (ContextNode lineNode in lines)
{
// Create a new paragraph
ContextNode paragraph = lineNode.ParentNode;
ContextNode writingRegion = paragraph.ParentNode;
ParagraphNode newParagraph = (ParagraphNode)
writingRegion.CreateSubNode(Microsoft.Ink.ContextNodeType.Paragraph);
// Reparent the line
lineNode.Reparent(newParagraph);
}
// Remove original paragraphs
foreach (ContextNode originalParagraph in originalParagraphs)
{
ContextNode originalWritingRegion = originalParagraph.ParentNode;
originalWritingRegion.DeleteSubNode(originalParagraph);
}
플랫폼
Windows Vista
.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
3.0에서 지원