diff --git a/Tutorial/Codegen.bat b/Tutorial/Codegen.bat
index 4f677dae..a43734b9 100644
--- a/Tutorial/Codegen.bat
+++ b/Tutorial/Codegen.bat
@@ -30,4 +30,9 @@ popd
pushd TextEditor\UI
call Codegen.bat
popd
+popd
+pushd GacUI_ControlTemplate
+pushd BlackSkin\UI
+call Codegen.bat
+popd
popd
\ No newline at end of file
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Codegen.bat b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Codegen.bat
new file mode 100644
index 00000000..27f6654b
--- /dev/null
+++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Codegen.bat
@@ -0,0 +1 @@
+..\..\..\..\Tools\GacGen.exe Resource.xml
\ No newline at end of file
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/Folder.xml b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/Folder.xml
new file mode 100644
index 00000000..077055bf
--- /dev/null
+++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/Folder.xml
@@ -0,0 +1,19 @@
+
+
+ OfficeWord.ico
+ OfficeExcel.ico
+ OfficePowerPoint.ico
+ OfficeOutlook.ico
+ OfficeOneNote.ico
+ _New.png
+ _Open.png
+ _Save.png
+ _SaveAs.png
+ _Print.png
+ _Redo.png
+ _Undo.png
+ _Cut.png
+ _Copy.png
+ _Paste.png
+ _Delete.png
+
\ No newline at end of file
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/OfficeExcel.ico b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/OfficeExcel.ico
new file mode 100644
index 00000000..cefc2b9e
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/OfficeExcel.ico differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/OfficeOneNote.ico b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/OfficeOneNote.ico
new file mode 100644
index 00000000..c4bb8359
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/OfficeOneNote.ico differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/OfficeOutlook.ico b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/OfficeOutlook.ico
new file mode 100644
index 00000000..935f08f1
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/OfficeOutlook.ico differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/OfficePowerPoint.ico b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/OfficePowerPoint.ico
new file mode 100644
index 00000000..c3b25340
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/OfficePowerPoint.ico differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/OfficeWord.ico b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/OfficeWord.ico
new file mode 100644
index 00000000..7b7f6f6f
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/OfficeWord.ico differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Copy.png b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Copy.png
new file mode 100644
index 00000000..889e5921
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Copy.png differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Cut.png b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Cut.png
new file mode 100644
index 00000000..f68d4633
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Cut.png differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Delete.png b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Delete.png
new file mode 100644
index 00000000..b5463387
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Delete.png differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_New.png b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_New.png
new file mode 100644
index 00000000..4100213e
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_New.png differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Open.png b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Open.png
new file mode 100644
index 00000000..fe913d32
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Open.png differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Paste.png b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Paste.png
new file mode 100644
index 00000000..e1f720b5
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Paste.png differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Print.png b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Print.png
new file mode 100644
index 00000000..5fc9b527
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Print.png differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Redo.png b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Redo.png
new file mode 100644
index 00000000..c659ea67
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Redo.png differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Save.png b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Save.png
new file mode 100644
index 00000000..6ad8e94d
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Save.png differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_SaveAs.png b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_SaveAs.png
new file mode 100644
index 00000000..0603c33d
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_SaveAs.png differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Undo.png b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Undo.png
new file mode 100644
index 00000000..79c849bb
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Images/_Undo.png differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/MainWindow.xml b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/MainWindow.xml
new file mode 100644
index 00000000..c14ee312
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/MainWindow.xml differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Resource.xml b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Resource.xml
new file mode 100644
index 00000000..6a67226a
--- /dev/null
+++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Resource.xml
@@ -0,0 +1,34 @@
+
+
+
+
+ Source
+ GacUIReflection.h
+ Demo
+
+
+
+ ..\..\UIRes
+ BlackSkin.bin
+
+
+ Images\Folder.xml
+
+
+
+
+
+
+ This is a
+ rich
+ document.
+
+
+
+
+
+ XmlDocDemo.xml
+
+ Skin.xml
+ MainWindow.xml
+
\ No newline at end of file
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Skin.xml b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Skin.xml
new file mode 100644
index 00000000..e983b46d
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/Skin.xml differ
diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/XmlDocDemo.xml b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/XmlDocDemo.xml
new file mode 100644
index 00000000..ae409a42
Binary files /dev/null and b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/XmlDocDemo.xml differ