#pragma once
#include "Global.h"
#include "BaseFormControl.h"

#include <map>
#include <set>


#pragma		warning (disable:4146)
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
using namespace System::Data::SqlClient;
using namespace System::Text;


namespace ObjDataEdit
{
	/// <summary> 
	/// Summary for BaseForm
	///
	/// WARNING: If you change the name of this class, you will need to change the 
	///          'Resource File Name' property for the managed resource compiler tool 
	///          associated with all .resx files this class depends on.  Otherwise,
	///          the designers will not be able to interact properly with localized
	///          resources associated with this form.
	/// </summary>

#ifndef _Just_Show_DotNet_Form_
public __gc class BaseForm : public System::Windows::Forms::Form
#else 
public __gc class BaseForm : public BaseFormControl
#endif
	{
	public: 
        BaseForm( char* FormName , char* DBName , char* OutputFile , bool IsReadOnly , SearchFormTypeENUM FormType )
            :BaseFormControl( FormName , DBName , OutputFile , IsReadOnly )
		{            
			
			_FormType = FormType;
			InitializeComponent();

			OnCreateForm();
			_EnterOnTimeProc = false;

			mouseClicked= DateTime::Now;
//			this->Text = (String*)FormName;
		}
        
	protected: 
		void Dispose(Boolean disposing)
		{
			OnCloseForm();
            
			if (disposing && components)
			{
				components->Dispose();
			}
			__super::Dispose(disposing);
		}
    
    protected:
    System::Windows::Forms::ListBox *  LB_ObjList;
    System::Windows::Forms::Button *  BT_NewObj;

    System::Windows::Forms::TextBox *  TB_WhereSQLCmd;
    System::Windows::Forms::Button *  BT_Flush;
    System::Windows::Forms::CheckBox *  CB_Lock;
    System::Windows::Forms::Button *  BT_Undo;
    System::Windows::Forms::Label *  LB_LastModify;
    System::Windows::Forms::Label *  LB_ObjCount;
    System::Windows::Forms::Panel *  panel1_Base;
    System::Windows::Forms::Panel *  panel7_Base;
    System::Windows::Forms::Panel *  panel3_Base;
    System::Windows::Forms::Panel *  panel2_Base;
    System::Windows::Forms::Panel *  panel5_Base;
    System::Windows::Forms::CheckedListBox *  LB_ProcRate;
    System::Windows::Forms::Panel *  panel6_Base;
    System::Data::SqlClient::SqlConnection *  sqlConnection_Base;
	private: System::Windows::Forms::ContextMenuStrip*  CMStrip_ObjTreeView;
	private: System::Windows::Forms::ToolStripMenuItem*  newToolStripMenuItem;
	private: System::Windows::Forms::ToolStripMenuItem*  delToolStripMenuItem;
	private: System::Windows::Forms::ToolStripMenuItem*  MoveToolStripMenuItem;
	System::Windows::Forms::MainMenu*  mainMenu_Base;
	protected:System::Data::SqlClient::SqlCommand *  sqlCommand_Base;
    System::Windows::Forms::Timer *  timer_Base;
    System::Windows::Forms::Label *  label5_Base;
    System::Windows::Forms::Label *  label4_Base;
    System::Windows::Forms::Label *  label2_Base;
    System::Windows::Forms::Label *  label1_Base;
    System::Windows::Forms::GroupBox *  groupBox_Base;
    System::Windows::Forms::TextBox *  textBox5_Base;

    System::Windows::Forms::TextBox *  textBox1_Base;
    System::Windows::Forms::MenuItem *  menuItem1_Base;
    System::Windows::Forms::MenuItem *  menuItem2_Base;
    protected: System::Windows::Forms::Panel *  panel4_Base;
	private: System::Windows::Forms::Button*  BT_SQLStrSelect;
    private: System::Windows::Forms::ContextMenu *  MU_SelectObj;
    private: System::Windows::Forms::MenuItem *  menuItem_Base1;
    private: System::Windows::Forms::MenuItem *  menuItem_Base2;
    protected: System::Windows::Forms::TextBox *  ImageID_Base;
    private: System::Windows::Forms::OpenFileDialog *  openFileDialog_Base;
	protected: System::Windows::Forms::Label*  label1;
	protected: System::Windows::Forms::TextBox*  DataGroup_Base;
	private: System::Windows::Forms::MenuItem*  menuItem5_Base;
	protected: System::Data::SqlClient::SqlCommand*  sqlCommand_Base1;
	private: System::Data::SqlClient::SqlConnection*  sqlConnection_Base1;
	private: System::Windows::Forms::Splitter*  splitter1;
	//private: System::Windows::Forms::TreeView*  TV_ObjGroup;
	private: System::Windows::Forms::TabControl*  tabControl1_Base;
	private: System::Windows::Forms::TabPage*  tabPage1_Base;
	private: System::Windows::Forms::TabPage*  tabPage2_Base;
	protected: System::Windows::Forms::TextBox*  TB_ObjGUID;
	private: System::Windows::Forms::Label*  label2;
	private: System::Windows::Forms::ImageList*  imageList1;
	private: System::Windows::Forms::Label*  label3_Base;
	protected: System::Windows::Forms::ComboBox*  CB_SelectType;
	protected: System::Windows::Forms::NumericUpDown*  NUD_CreateCount;
	private: System::Windows::Forms::ToolStripMenuItem*  SelectMoveToolStripMenuItem;
	protected: System::Windows::Forms::GroupBox*  groupBox1;
	protected: System::Windows::Forms::CheckedListBox*  CLB_OutputLanguage;
	private: 





	protected: System::Windows::Forms::TextBox*  textBox1;
	private: 
	protected: System::Windows::Forms::Label*  label3;


	private: System::Windows::Forms::Button*  button1;
	protected: System::Windows::Forms::Label*  label4;
	protected: System::Windows::Forms::TextBox*  TB_TagText;

	protected: ObjDataEdit::CustomRichTextBox::CustomRichTextBox*  textBox4_Base;
	protected: System::Windows::Forms::Label*  label6;
	protected: System::Windows::Forms::ComboBox*  CB_Ver;
	protected: System::Windows::Forms::ComboBox*  CB_DirZoneID;
	protected: System::Windows::Forms::ComboBox*  comboBox3;
	protected: System::Windows::Forms::ComboBox*  CB_DirVersionID;
	protected: System::Windows::Forms::Label*  label8;
	protected: System::Windows::Forms::ComboBox*  CB_DirTagID;
	protected: System::Windows::Forms::Label*  label7;

	protected: 





	protected: System::Windows::Forms::Button*  button2;


private: System::Windows::Forms::MenuItem*  menuItem16;
private: System::Windows::Forms::CheckBox*  checkBoxTranslate;
private: System::Windows::Forms::MenuItem*  menuItem1;
private: System::Windows::Forms::MenuItem*  menuItem2;
private: System::Windows::Forms::MenuItem*  menuItem3;
private: System::Windows::Forms::MenuItem*  menuItem4;
public: DevExpress::XtraTreeList::TreeList*  treeList1;
private: 

private: DevExpress::XtraTreeList::Columns::TreeListColumn*  TColName;
private: System::Windows::Forms::Label*  LB_NodeID;
private: System::Windows::Forms::ToolStripMenuItem*  TSMI_MoveOutSide;
private: DevExpress::XtraTreeList::Columns::TreeListColumn*  TID;



private: 

private: 

	protected: 
	private: System::ComponentModel::IContainer *  components;
	private:
		/// <summary>
		/// Required designer variable.
		/// </summary>


		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		void InitializeComponent(void)
		{
			this->components = (new System::ComponentModel::Container());
			System::ComponentModel::ComponentResourceManager*  resources = (new System::ComponentModel::ComponentResourceManager(__typeof(BaseForm)));
			this->sqlConnection_Base = (new System::Data::SqlClient::SqlConnection());
			this->mainMenu_Base = (new System::Windows::Forms::MainMenu(this->components));
			this->menuItem1_Base = (new System::Windows::Forms::MenuItem());
			this->menuItem16 = (new System::Windows::Forms::MenuItem());
			this->menuItem2_Base = (new System::Windows::Forms::MenuItem());
			this->menuItem5_Base = (new System::Windows::Forms::MenuItem());
			this->menuItem1 = (new System::Windows::Forms::MenuItem());
			this->menuItem4 = (new System::Windows::Forms::MenuItem());
			this->menuItem2 = (new System::Windows::Forms::MenuItem());
			this->menuItem3 = (new System::Windows::Forms::MenuItem());
			this->sqlCommand_Base = (new System::Data::SqlClient::SqlCommand());
			this->timer_Base = (new System::Windows::Forms::Timer(this->components));
			this->panel1_Base = (new System::Windows::Forms::Panel());
			this->panel7_Base = (new System::Windows::Forms::Panel());
			this->tabControl1_Base = (new System::Windows::Forms::TabControl());
			this->tabPage1_Base = (new System::Windows::Forms::TabPage());
			this->treeList1 = (new DevExpress::XtraTreeList::TreeList());
			this->TID = (new DevExpress::XtraTreeList::Columns::TreeListColumn());
			this->TColName = (new DevExpress::XtraTreeList::Columns::TreeListColumn());
			this->CMStrip_ObjTreeView = (new System::Windows::Forms::ContextMenuStrip(this->components));
			this->newToolStripMenuItem = (new System::Windows::Forms::ToolStripMenuItem());
			this->delToolStripMenuItem = (new System::Windows::Forms::ToolStripMenuItem());
			this->MoveToolStripMenuItem = (new System::Windows::Forms::ToolStripMenuItem());
			this->SelectMoveToolStripMenuItem = (new System::Windows::Forms::ToolStripMenuItem());
			this->TSMI_MoveOutSide = (new System::Windows::Forms::ToolStripMenuItem());
			this->imageList1 = (new System::Windows::Forms::ImageList(this->components));
			this->tabPage2_Base = (new System::Windows::Forms::TabPage());
			this->LB_ObjList = (new System::Windows::Forms::ListBox());
			this->panel3_Base = (new System::Windows::Forms::Panel());
			this->NUD_CreateCount = (new System::Windows::Forms::NumericUpDown());
			this->BT_NewObj = (new System::Windows::Forms::Button());
			this->panel2_Base = (new System::Windows::Forms::Panel());
			this->LB_NodeID = (new System::Windows::Forms::Label());
			this->label3_Base = (new System::Windows::Forms::Label());
			this->CB_SelectType = (new System::Windows::Forms::ComboBox());
			this->BT_SQLStrSelect = (new System::Windows::Forms::Button());
			this->LB_ObjCount = (new System::Windows::Forms::Label());
			this->TB_WhereSQLCmd = (new System::Windows::Forms::TextBox());
			this->BT_Flush = (new System::Windows::Forms::Button());
			this->panel5_Base = (new System::Windows::Forms::Panel());
			this->button2 = (new System::Windows::Forms::Button());
			this->LB_LastModify = (new System::Windows::Forms::Label());
			this->BT_Undo = (new System::Windows::Forms::Button());
			this->CB_Lock = (new System::Windows::Forms::CheckBox());
			this->label4 = (new System::Windows::Forms::Label());
			this->TB_TagText = (new System::Windows::Forms::TextBox());
			this->panel6_Base = (new System::Windows::Forms::Panel());
			this->checkBoxTranslate = (new System::Windows::Forms::CheckBox());
			this->CB_DirVersionID = (new System::Windows::Forms::ComboBox());
			this->label8 = (new System::Windows::Forms::Label());
			this->CB_DirTagID = (new System::Windows::Forms::ComboBox());
			this->label7 = (new System::Windows::Forms::Label());
			this->label1 = (new System::Windows::Forms::Label());
			this->DataGroup_Base = (new System::Windows::Forms::TextBox());
			this->label6 = (new System::Windows::Forms::Label());
			this->CB_DirZoneID = (new System::Windows::Forms::ComboBox());
			this->textBox4_Base = (new ObjDataEdit::CustomRichTextBox::CustomRichTextBox());
			this->button1 = (new System::Windows::Forms::Button());
			this->textBox1 = (new System::Windows::Forms::TextBox());
			this->label3 = (new System::Windows::Forms::Label());
			this->groupBox1 = (new System::Windows::Forms::GroupBox());
			this->CLB_OutputLanguage = (new System::Windows::Forms::CheckedListBox());
			this->TB_ObjGUID = (new System::Windows::Forms::TextBox());
			this->label2 = (new System::Windows::Forms::Label());
			this->label5_Base = (new System::Windows::Forms::Label());
			this->textBox5_Base = (new System::Windows::Forms::TextBox());
			this->label4_Base = (new System::Windows::Forms::Label());
			this->textBox1_Base = (new System::Windows::Forms::TextBox());
			this->label2_Base = (new System::Windows::Forms::Label());
			this->label1_Base = (new System::Windows::Forms::Label());
			this->ImageID_Base = (new System::Windows::Forms::TextBox());
			this->groupBox_Base = (new System::Windows::Forms::GroupBox());
			this->LB_ProcRate = (new System::Windows::Forms::CheckedListBox());
			this->panel4_Base = (new System::Windows::Forms::Panel());
			this->MU_SelectObj = (new System::Windows::Forms::ContextMenu());
			this->menuItem_Base1 = (new System::Windows::Forms::MenuItem());
			this->menuItem_Base2 = (new System::Windows::Forms::MenuItem());
			this->openFileDialog_Base = (new System::Windows::Forms::OpenFileDialog());
			this->sqlCommand_Base1 = (new System::Data::SqlClient::SqlCommand());
			this->sqlConnection_Base1 = (new System::Data::SqlClient::SqlConnection());
			this->splitter1 = (new System::Windows::Forms::Splitter());
			this->panel1_Base->SuspendLayout();
			this->panel7_Base->SuspendLayout();
			this->tabControl1_Base->SuspendLayout();
			this->tabPage1_Base->SuspendLayout();
			(__try_cast<System::ComponentModel::ISupportInitialize*  >(this->treeList1))->BeginInit();
			this->CMStrip_ObjTreeView->SuspendLayout();
			this->tabPage2_Base->SuspendLayout();
			this->panel3_Base->SuspendLayout();
			(__try_cast<System::ComponentModel::ISupportInitialize*  >(this->NUD_CreateCount))->BeginInit();
			this->panel2_Base->SuspendLayout();
			this->panel5_Base->SuspendLayout();
			this->panel6_Base->SuspendLayout();
			this->groupBox1->SuspendLayout();
			this->groupBox_Base->SuspendLayout();
			this->SuspendLayout();
			// 
			// sqlConnection_Base
			// 
			this->sqlConnection_Base->ConnectionString = S"workstation id=HSIANG;packet size=4096;user id=hsiangren;persist security info=Tr" 
				S"ue;initial catalog=ObjectData;password=2ddilxxl;data source=GS1";
			this->sqlConnection_Base->FireInfoMessageEventOnUserErrors = false;
			// 
			// mainMenu_Base
			// 
			System::Windows::Forms::MenuItem* __mcTemp__1[] = new System::Windows::Forms::MenuItem*[2];
			__mcTemp__1[0] = this->menuItem1_Base;
			__mcTemp__1[1] = this->menuItem2_Base;
			this->mainMenu_Base->MenuItems->AddRange(__mcTemp__1);
			// 
			// menuItem1_Base
			// 
			this->menuItem1_Base->Index = 0;
			System::Windows::Forms::MenuItem* __mcTemp__2[] = new System::Windows::Forms::MenuItem*[1];
			__mcTemp__2[0] = this->menuItem16;
			this->menuItem1_Base->MenuItems->AddRange(__mcTemp__2);
			this->menuItem1_Base->Text = S"資料輸出";
			// 
			// menuItem16
			// 
			this->menuItem16->Index = 0;
			this->menuItem16->Text = S"內部輸出";
			this->menuItem16->Click += new System::EventHandler(this, &BaseForm::OnOutputFileDesign);
			// 
			// menuItem2_Base
			// 
			this->menuItem2_Base->Index = 1;
			System::Windows::Forms::MenuItem* __mcTemp__3[] = new System::Windows::Forms::MenuItem*[5];
			__mcTemp__3[0] = this->menuItem5_Base;
			__mcTemp__3[1] = this->menuItem1;
			__mcTemp__3[2] = this->menuItem4;
			__mcTemp__3[3] = this->menuItem2;
			__mcTemp__3[4] = this->menuItem3;
			this->menuItem2_Base->MenuItems->AddRange(__mcTemp__3);
			this->menuItem2_Base->Text = S"特殊";
			// 
			// menuItem5_Base
			// 
			this->menuItem5_Base->Index = 0;
			this->menuItem5_Base->Text = S"拷貝";
			this->menuItem5_Base->Click += new System::EventHandler(this, &BaseForm::CopyObj_Base_Click);
			// 
			// menuItem1
			// 
			this->menuItem1->Index = 1;
			this->menuItem1->Text = S"批次更新";
			this->menuItem1->Click += new System::EventHandler(this, &BaseForm::BatchUpdate_Click);
			// 
			// menuItem4
			// 
			this->menuItem4->Index = 2;
			this->menuItem4->Text = S"匯出資料";
			this->menuItem4->Click += new System::EventHandler(this, &BaseForm::ExportDataClick);
			// 
			// menuItem2
			// 
			this->menuItem2->Index = 3;
			this->menuItem2->Text = S"-";
			// 
			// menuItem3
			// 
			this->menuItem3->Index = 4;
			this->menuItem3->Text = S"顯示所有修改記錄";
			this->menuItem3->Click += new System::EventHandler(this, &BaseForm::ShowAllHistoryClick);
			// 
			// sqlCommand_Base
			// 
			this->sqlCommand_Base->CommandTimeout = 360;
			this->sqlCommand_Base->Connection = this->sqlConnection_Base;
			// 
			// timer_Base
			// 
			this->timer_Base->Interval = 200;
			this->timer_Base->Tick += new System::EventHandler(this, &BaseForm::OnTimePorcEvent);
			// 
			// panel1_Base
			// 
			this->panel1_Base->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;
			this->panel1_Base->Controls->Add(this->panel7_Base);
			this->panel1_Base->Controls->Add(this->panel3_Base);
			this->panel1_Base->Controls->Add(this->panel2_Base);
			this->panel1_Base->Dock = System::Windows::Forms::DockStyle::Left;
			this->panel1_Base->Location = System::Drawing::Point(0, 0);
			this->panel1_Base->Name = S"panel1_Base";
			this->panel1_Base->Size = System::Drawing::Size(204, 742);
			this->panel1_Base->TabIndex = 7;
			// 
			// panel7_Base
			// 
			this->panel7_Base->Controls->Add(this->tabControl1_Base);
			this->panel7_Base->Dock = System::Windows::Forms::DockStyle::Fill;
			this->panel7_Base->Location = System::Drawing::Point(0, 144);
			this->panel7_Base->Name = S"panel7_Base";
			this->panel7_Base->Size = System::Drawing::Size(200, 549);
			this->panel7_Base->TabIndex = 4;
			// 
			// tabControl1_Base
			// 
			this->tabControl1_Base->Controls->Add(this->tabPage1_Base);
			this->tabControl1_Base->Controls->Add(this->tabPage2_Base);
			this->tabControl1_Base->Dock = System::Windows::Forms::DockStyle::Fill;
			this->tabControl1_Base->Location = System::Drawing::Point(0, 0);
			this->tabControl1_Base->Name = S"tabControl1_Base";
			this->tabControl1_Base->SelectedIndex = 0;
			this->tabControl1_Base->Size = System::Drawing::Size(200, 549);
			this->tabControl1_Base->TabIndex = 4;
			// 
			// tabPage1_Base
			// 
			this->tabPage1_Base->Controls->Add(this->treeList1);
			this->tabPage1_Base->Location = System::Drawing::Point(4, 22);
			this->tabPage1_Base->Name = S"tabPage1_Base";
			this->tabPage1_Base->Padding = System::Windows::Forms::Padding(3);
			this->tabPage1_Base->Size = System::Drawing::Size(192, 523);
			this->tabPage1_Base->TabIndex = 0;
			this->tabPage1_Base->Text = S"樹狀";
			this->tabPage1_Base->UseVisualStyleBackColor = true;
			// 
			// treeList1
			// 
			this->treeList1->AllowDrop = true;
			DevExpress::XtraTreeList::Columns::TreeListColumn* __mcTemp__4[] = new DevExpress::XtraTreeList::Columns::TreeListColumn*[2];
			__mcTemp__4[0] = this->TID;
			__mcTemp__4[1] = this->TColName;
			this->treeList1->Columns->AddRange(__mcTemp__4);
			this->treeList1->ContextMenuStrip = this->CMStrip_ObjTreeView;
			this->treeList1->Dock = System::Windows::Forms::DockStyle::Fill;
			this->treeList1->Font = (new System::Drawing::Font(S"PMingLiU", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, 
				(System::Byte)0));
			this->treeList1->Location = System::Drawing::Point(3, 3);
			this->treeList1->Name = S"treeList1";
			this->treeList1->OptionsBehavior->AutoSelectAllInEditor = false;
			this->treeList1->OptionsBehavior->DragNodes = true;
			this->treeList1->OptionsBehavior->ImmediateEditor = false;
			this->treeList1->OptionsBehavior->UseTabKey = true;
			this->treeList1->OptionsSelection->InvertSelection = true;
			this->treeList1->OptionsView->ShowColumns = false;
			this->treeList1->OptionsView->ShowIndicator = false;
			this->treeList1->RowHeight = 16;
			this->treeList1->Size = System::Drawing::Size(186, 517);
			this->treeList1->StateImageList = this->imageList1;
			this->treeList1->TabIndex = 4;
			this->treeList1->MouseDown += new System::Windows::Forms::MouseEventHandler(this, &BaseForm::TV_ObjGroup_MouseDown);
			this->treeList1->MouseUp += new System::Windows::Forms::MouseEventHandler(this, &BaseForm::TV_ObjGroup_MouseUp);
			this->treeList1->AfterFocusNode += new DevExpress::XtraTreeList::NodeEventHandler(this, &BaseForm::TV_ObjGroup_AfterSelect);
			this->treeList1->AfterCollapse += new DevExpress::XtraTreeList::NodeEventHandler(this, &BaseForm::Treelist_Collapse);
			this->treeList1->DragOver += new System::Windows::Forms::DragEventHandler(this, &BaseForm::TV_ObjGroup_DragOver);
			this->treeList1->AfterExpand += new DevExpress::XtraTreeList::NodeEventHandler(this, &BaseForm::Treelist_AfterExpand);
			this->treeList1->ShownEditor += new System::EventHandler(this, &BaseForm::treeList1_ShownEditor);
			this->treeList1->CellValueChanged += new DevExpress::XtraTreeList::CellValueChangedEventHandler(this, &BaseForm::TV_ObjGroup_AfterLabelEdit);
			this->treeList1->MouseMove += new System::Windows::Forms::MouseEventHandler(this, &BaseForm::TV_ObjGroup_MouseMove);
			this->treeList1->DragDrop += new System::Windows::Forms::DragEventHandler(this, &BaseForm::TV_ObjGroup_DragDrop);
			// 
			// TID
			// 
			this->TID->Caption = S"ID";
			this->TID->FieldName = S"ID";
			this->TID->MinWidth = 10;
			this->TID->Name = S"TID";
			this->TID->OptionsColumn->ShowInCustomizationForm = false;
			this->TID->Width = 20;
			// 
			// TColName
			// 
			this->TColName->Caption = S"treeListColumn1";
			this->TColName->FieldName = S"ColName";
			this->TColName->MinWidth = 27;
			this->TColName->Name = S"TColName";
			this->TColName->VisibleIndex = 0;
			// 
			// CMStrip_ObjTreeView
			// 
			System::Windows::Forms::ToolStripItem* __mcTemp__5[] = new System::Windows::Forms::ToolStripItem*[5];
			__mcTemp__5[0] = this->newToolStripMenuItem;
			__mcTemp__5[1] = this->delToolStripMenuItem;
			__mcTemp__5[2] = this->MoveToolStripMenuItem;
			__mcTemp__5[3] = this->SelectMoveToolStripMenuItem;
			__mcTemp__5[4] = this->TSMI_MoveOutSide;
			this->CMStrip_ObjTreeView->Items->AddRange(__mcTemp__5);
			this->CMStrip_ObjTreeView->Name = S"CMStrip_ObjTreeView";
			this->CMStrip_ObjTreeView->Size = System::Drawing::Size(209, 114);
			// 
			// newToolStripMenuItem
			// 
			this->newToolStripMenuItem->Name = S"newToolStripMenuItem";
			this->newToolStripMenuItem->Size = System::Drawing::Size(208, 22);
			this->newToolStripMenuItem->Text = S"新增資料夾";
			this->newToolStripMenuItem->Click += new System::EventHandler(this, &BaseForm::NewToolStripMenuItem_Click);
			// 
			// delToolStripMenuItem
			// 
			this->delToolStripMenuItem->Name = S"delToolStripMenuItem";
			this->delToolStripMenuItem->Size = System::Drawing::Size(208, 22);
			this->delToolStripMenuItem->Text = S"移除資料夾";
			this->delToolStripMenuItem->Click += new System::EventHandler(this, &BaseForm::DelToolStripMenuItem_Click);
			// 
			// MoveToolStripMenuItem
			// 
			this->MoveToolStripMenuItem->Name = S"MoveToolStripMenuItem";
			this->MoveToolStripMenuItem->Size = System::Drawing::Size(208, 22);
			this->MoveToolStripMenuItem->Text = S"編輯物件移到此資料夾";
			this->MoveToolStripMenuItem->Click += new System::EventHandler(this, &BaseForm::moveToolStripMenuItem_Click);
			// 
			// SelectMoveToolStripMenuItem
			// 
			this->SelectMoveToolStripMenuItem->Name = S"SelectMoveToolStripMenuItem";
			this->SelectMoveToolStripMenuItem->Size = System::Drawing::Size(208, 22);
			this->SelectMoveToolStripMenuItem->Text = S"選擇物件移動至此資料夾";
			this->SelectMoveToolStripMenuItem->Click += new System::EventHandler(this, &BaseForm::selectmoveToolStripMenuItem_Click);
			// 
			// TSMI_MoveOutSide
			// 
			this->TSMI_MoveOutSide->Name = S"TSMI_MoveOutSide";
			this->TSMI_MoveOutSide->Size = System::Drawing::Size(208, 22);
			this->TSMI_MoveOutSide->Text = S"移動至最外層";
			this->TSMI_MoveOutSide->Click += new System::EventHandler(this, &BaseForm::OnMoveOutSide);
			// 
			// imageList1
			// 
			this->imageList1->ImageStream = (__try_cast<System::Windows::Forms::ImageListStreamer*  >(resources->GetObject(S"imageList1.ImageStream")));
			this->imageList1->TransparentColor = System::Drawing::Color::Black;
			this->imageList1->Images->SetKeyName(0, S"folder.png");
			this->imageList1->Images->SetKeyName(1, S"");
			// 
			// tabPage2_Base
			// 
			this->tabPage2_Base->Controls->Add(this->LB_ObjList);
			this->tabPage2_Base->Location = System::Drawing::Point(4, 22);
			this->tabPage2_Base->Name = S"tabPage2_Base";
			this->tabPage2_Base->Padding = System::Windows::Forms::Padding(3);
			this->tabPage2_Base->Size = System::Drawing::Size(192, 523);
			this->tabPage2_Base->TabIndex = 1;
			this->tabPage2_Base->Text = S"SQL搜尋";
			this->tabPage2_Base->UseVisualStyleBackColor = true;
			// 
			// LB_ObjList
			// 
			this->LB_ObjList->Dock = System::Windows::Forms::DockStyle::Fill;
			this->LB_ObjList->ItemHeight = 12;
			this->LB_ObjList->Location = System::Drawing::Point(3, 3);
			this->LB_ObjList->Name = S"LB_ObjList";
			this->LB_ObjList->Size = System::Drawing::Size(186, 508);
			this->LB_ObjList->TabIndex = 2;
			this->LB_ObjList->SelectedIndexChanged += new System::EventHandler(this, &BaseForm::OnSelectObj);
			// 
			// panel3_Base
			// 
			this->panel3_Base->Controls->Add(this->NUD_CreateCount);
			this->panel3_Base->Controls->Add(this->BT_NewObj);
			this->panel3_Base->Dock = System::Windows::Forms::DockStyle::Bottom;
			this->panel3_Base->Location = System::Drawing::Point(0, 693);
			this->panel3_Base->Name = S"panel3_Base";
			this->panel3_Base->Size = System::Drawing::Size(200, 45);
			this->panel3_Base->TabIndex = 2;
			// 
			// NUD_CreateCount
			// 
			this->NUD_CreateCount->Location = System::Drawing::Point(7, 12);
			System::Int32 __mcTemp__6[] = new System::Int32[4];
			__mcTemp__6[0] = 500;
			__mcTemp__6[1] = 0;
			__mcTemp__6[2] = 0;
			__mcTemp__6[3] = 0;
			this->NUD_CreateCount->Maximum = System::Decimal(__mcTemp__6);
			System::Int32 __mcTemp__7[] = new System::Int32[4];
			__mcTemp__7[0] = 1;
			__mcTemp__7[1] = 0;
			__mcTemp__7[2] = 0;
			__mcTemp__7[3] = 0;
			this->NUD_CreateCount->Minimum = System::Decimal(__mcTemp__7);
			this->NUD_CreateCount->Name = S"NUD_CreateCount";
			this->NUD_CreateCount->Size = System::Drawing::Size(51, 22);
			this->NUD_CreateCount->TabIndex = 2;
			System::Int32 __mcTemp__8[] = new System::Int32[4];
			__mcTemp__8[0] = 1;
			__mcTemp__8[1] = 0;
			__mcTemp__8[2] = 0;
			__mcTemp__8[3] = 0;
			this->NUD_CreateCount->Value = System::Decimal(__mcTemp__8);
			// 
			// BT_NewObj
			// 
			this->BT_NewObj->Location = System::Drawing::Point(64, 6);
			this->BT_NewObj->Name = S"BT_NewObj";
			this->BT_NewObj->Size = System::Drawing::Size(129, 32);
			this->BT_NewObj->TabIndex = 1;
			this->BT_NewObj->Text = S"新增資料";
			this->BT_NewObj->Click += new System::EventHandler(this, &BaseForm::OnNewObj);
			// 
			// panel2_Base
			// 
			this->panel2_Base->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;
			this->panel2_Base->Controls->Add(this->LB_NodeID);
			this->panel2_Base->Controls->Add(this->label3_Base);
			this->panel2_Base->Controls->Add(this->CB_SelectType);
			this->panel2_Base->Controls->Add(this->BT_SQLStrSelect);
			this->panel2_Base->Controls->Add(this->LB_ObjCount);
			this->panel2_Base->Controls->Add(this->TB_WhereSQLCmd);
			this->panel2_Base->Controls->Add(this->BT_Flush);
			this->panel2_Base->Dock = System::Windows::Forms::DockStyle::Top;
			this->panel2_Base->Location = System::Drawing::Point(0, 0);
			this->panel2_Base->Name = S"panel2_Base";
			this->panel2_Base->Size = System::Drawing::Size(200, 144);
			this->panel2_Base->TabIndex = 0;
			// 
			// LB_NodeID
			// 
			this->LB_NodeID->AutoSize = true;
			this->LB_NodeID->Location = System::Drawing::Point(91, 122);
			this->LB_NodeID->Name = S"LB_NodeID";
			this->LB_NodeID->Size = System::Drawing::Size(54, 12);
			this->LB_NodeID->TabIndex = 6;
			this->LB_NodeID->Text = S"NodeID：";
			// 
			// label3_Base
			// 
			this->label3_Base->AutoSize = true;
			this->label3_Base->Location = System::Drawing::Point(3, 13);
			this->label3_Base->Name = S"label3_Base";
			this->label3_Base->Size = System::Drawing::Size(53, 12);
			this->label3_Base->TabIndex = 5;
			this->label3_Base->Text = S"篩選方式";
			// 
			// CB_SelectType
			// 
			this->CB_SelectType->DropDownStyle = System::Windows::Forms::ComboBoxStyle::DropDownList;
			this->CB_SelectType->FormattingEnabled = true;
			System::Object* __mcTemp__9[] = new System::Object*[4];
			__mcTemp__9[0] = S"設定語系";
			__mcTemp__9[1] = S"名稱";
			__mcTemp__9[2] = S"SQL指令";
			__mcTemp__9[3] = S"全部";
			this->CB_SelectType->Items->AddRange(__mcTemp__9);
			this->CB_SelectType->Location = System::Drawing::Point(62, 10);
			this->CB_SelectType->Name = S"CB_SelectType";
			this->CB_SelectType->Size = System::Drawing::Size(92, 20);
			this->CB_SelectType->TabIndex = 3;
			this->CB_SelectType->SelectedIndexChanged += new System::EventHandler(this, &BaseForm::CB_SelectType_SelectedIndexChanged);
			// 
			// BT_SQLStrSelect
			// 
			this->BT_SQLStrSelect->Location = System::Drawing::Point(160, 8);
			this->BT_SQLStrSelect->Name = S"BT_SQLStrSelect";
			this->BT_SQLStrSelect->Size = System::Drawing::Size(24, 23);
			this->BT_SQLStrSelect->TabIndex = 4;
			this->BT_SQLStrSelect->Text = S"..";
			this->BT_SQLStrSelect->Visible = false;
			this->BT_SQLStrSelect->Click += new System::EventHandler(this, &BaseForm::SelectSqlCmd_Click);
			// 
			// LB_ObjCount
			// 
			this->LB_ObjCount->AutoSize = true;
			this->LB_ObjCount->Location = System::Drawing::Point(16, 120);
			this->LB_ObjCount->Name = S"LB_ObjCount";
			this->LB_ObjCount->Size = System::Drawing::Size(35, 12);
			this->LB_ObjCount->TabIndex = 3;
			this->LB_ObjCount->Text = S"_____";
			// 
			// TB_WhereSQLCmd
			// 
			this->TB_WhereSQLCmd->Enabled = false;
			this->TB_WhereSQLCmd->Location = System::Drawing::Point(8, 37);
			this->TB_WhereSQLCmd->Multiline = true;
			this->TB_WhereSQLCmd->Name = S"TB_WhereSQLCmd";
			this->TB_WhereSQLCmd->Size = System::Drawing::Size(176, 48);
			this->TB_WhereSQLCmd->TabIndex = 1;
			// 
			// BT_Flush
			// 
			this->BT_Flush->Location = System::Drawing::Point(8, 88);
			this->BT_Flush->Name = S"BT_Flush";
			this->BT_Flush->Size = System::Drawing::Size(176, 24);
			this->BT_Flush->TabIndex = 0;
			this->BT_Flush->Text = S"更新";
			this->BT_Flush->Click += new System::EventHandler(this, &BaseForm::OnUpDateList);
			// 
			// panel5_Base
			// 
			this->panel5_Base->BackColor = System::Drawing::SystemColors::Highlight;
			this->panel5_Base->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;
			this->panel5_Base->Controls->Add(this->button2);
			this->panel5_Base->Controls->Add(this->LB_LastModify);
			this->panel5_Base->Controls->Add(this->BT_Undo);
			this->panel5_Base->Controls->Add(this->CB_Lock);
			this->panel5_Base->Dock = System::Windows::Forms::DockStyle::Top;
			this->panel5_Base->Location = System::Drawing::Point(204, 0);
			this->panel5_Base->Name = S"panel5_Base";
			this->panel5_Base->Size = System::Drawing::Size(1086, 32);
			this->panel5_Base->TabIndex = 10;
			// 
			// button2
			// 
			this->button2->BackColor = System::Drawing::SystemColors::Control;
			this->button2->Dock = System::Windows::Forms::DockStyle::Right;
			this->button2->Location = System::Drawing::Point(970, 0);
			this->button2->Name = S"button2";
			this->button2->Size = System::Drawing::Size(37, 28);
			this->button2->TabIndex = 8;
			this->button2->Text = S"歷史";
			this->button2->UseVisualStyleBackColor = false;
			this->button2->Click += new System::EventHandler(this, &BaseForm::ShowHistoryClick);
			// 
			// LB_LastModify
			// 
			this->LB_LastModify->AutoSize = true;
			this->LB_LastModify->BackColor = System::Drawing::SystemColors::Highlight;
			this->LB_LastModify->Location = System::Drawing::Point(568, 5);
			this->LB_LastModify->Name = S"LB_LastModify";
			this->LB_LastModify->Size = System::Drawing::Size(65, 12);
			this->LB_LastModify->TabIndex = 7;
			this->LB_LastModify->Text = S"最後修改：";
			this->LB_LastModify->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
			// 
			// BT_Undo
			// 
			this->BT_Undo->BackColor = System::Drawing::SystemColors::Control;
			this->BT_Undo->Dock = System::Windows::Forms::DockStyle::Right;
			this->BT_Undo->Location = System::Drawing::Point(1007, 0);
			this->BT_Undo->Name = S"BT_Undo";
			this->BT_Undo->Size = System::Drawing::Size(75, 28);
			this->BT_Undo->TabIndex = 6;
			this->BT_Undo->Text = S"回復修正";
			this->BT_Undo->UseVisualStyleBackColor = false;
			this->BT_Undo->Click += new System::EventHandler(this, &BaseForm::BT_Undo_Click);
			// 
			// CB_Lock
			// 
			this->CB_Lock->AutoCheck = false;
			this->CB_Lock->Font = (new System::Drawing::Font(S"PMingLiU", 9.75F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
				(System::Byte)136));
			this->CB_Lock->ForeColor = System::Drawing::Color::Red;
			this->CB_Lock->Location = System::Drawing::Point(4, 0);
			this->CB_Lock->Name = S"CB_Lock";
			this->CB_Lock->Size = System::Drawing::Size(264, 28);
			this->CB_Lock->TabIndex = 5;
			this->CB_Lock->Text = S"資料鎖定";
			this->CB_Lock->Click += new System::EventHandler(this, &BaseForm::OnCB_Lock_Click);
			// 
			// label4
			// 
			this->label4->AutoSize = true;
			this->label4->Font = (new System::Drawing::Font(S"PMingLiU", 9, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
				(System::Byte)136));
			this->label4->ForeColor = System::Drawing::SystemColors::ControlText;
			this->label4->Location = System::Drawing::Point(888, 5);
			this->label4->Name = S"label4";
			this->label4->Size = System::Drawing::Size(75, 12);
			this->label4->TabIndex = 99;
			this->label4->Text = S"DB欄位名稱";
			// 
			// TB_TagText
			// 
			this->TB_TagText->Location = System::Drawing::Point(969, 2);
			this->TB_TagText->Name = S"TB_TagText";
			this->TB_TagText->ReadOnly = true;
			this->TB_TagText->Size = System::Drawing::Size(96, 22);
			this->TB_TagText->TabIndex = 100;
			this->TB_TagText->Tag = S"";
			// 
			// panel6_Base
			// 
			this->panel6_Base->AutoScroll = true;
			this->panel6_Base->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;
			this->panel6_Base->Controls->Add(this->checkBoxTranslate);
			this->panel6_Base->Controls->Add(this->CB_DirVersionID);
			this->panel6_Base->Controls->Add(this->label8);
			this->panel6_Base->Controls->Add(this->CB_DirTagID);
			this->panel6_Base->Controls->Add(this->label7);
			this->panel6_Base->Controls->Add(this->label1);
			this->panel6_Base->Controls->Add(this->DataGroup_Base);
			this->panel6_Base->Controls->Add(this->label6);
			this->panel6_Base->Controls->Add(this->CB_DirZoneID);
			this->panel6_Base->Controls->Add(this->textBox4_Base);
			this->panel6_Base->Controls->Add(this->label4);
			this->panel6_Base->Controls->Add(this->button1);
			this->panel6_Base->Controls->Add(this->TB_TagText);
			this->panel6_Base->Controls->Add(this->textBox1);
			this->panel6_Base->Controls->Add(this->label3);
			this->panel6_Base->Controls->Add(this->groupBox1);
			this->panel6_Base->Controls->Add(this->TB_ObjGUID);
			this->panel6_Base->Controls->Add(this->label2);
			this->panel6_Base->Controls->Add(this->label5_Base);
			this->panel6_Base->Controls->Add(this->textBox5_Base);
			this->panel6_Base->Controls->Add(this->label4_Base);
			this->panel6_Base->Controls->Add(this->textBox1_Base);
			this->panel6_Base->Controls->Add(this->label2_Base);
			this->panel6_Base->Controls->Add(this->label1_Base);
			this->panel6_Base->Controls->Add(this->ImageID_Base);
			this->panel6_Base->Controls->Add(this->groupBox_Base);
			this->panel6_Base->Dock = System::Windows::Forms::DockStyle::Top;
			this->panel6_Base->Location = System::Drawing::Point(204, 32);
			this->panel6_Base->Name = S"panel6_Base";
			this->panel6_Base->Size = System::Drawing::Size(1086, 156);
			this->panel6_Base->TabIndex = 11;
			// 
			// checkBoxTranslate
			// 
			this->checkBoxTranslate->AutoSize = true;
			this->checkBoxTranslate->Location = System::Drawing::Point(362, 78);
			this->checkBoxTranslate->Name = S"checkBoxTranslate";
			this->checkBoxTranslate->Size = System::Drawing::Size(72, 16);
			this->checkBoxTranslate->TabIndex = 115;
			this->checkBoxTranslate->Tag = S"Translate";
			this->checkBoxTranslate->Text = S"是否翻譯";
			this->checkBoxTranslate->UseVisualStyleBackColor = true;
			this->checkBoxTranslate->CheckedChanged += new System::EventHandler(this, &BaseForm::GetValue_CheckChanged);
			// 
			// CB_DirVersionID
			// 
			this->CB_DirVersionID->DropDownStyle = System::Windows::Forms::ComboBoxStyle::DropDownList;
			this->CB_DirVersionID->FormattingEnabled = true;
			System::Object* __mcTemp__10[] = new System::Object*[2];
			__mcTemp__10[0] = S"DEFAULT-0";
			__mcTemp__10[1] = S"DEFAULT-1";
			this->CB_DirVersionID->Items->AddRange(__mcTemp__10);
			this->CB_DirVersionID->Location = System::Drawing::Point(424, 54);
			this->CB_DirVersionID->Name = S"CB_DirVersionID";
			this->CB_DirVersionID->Size = System::Drawing::Size(98, 20);
			this->CB_DirVersionID->TabIndex = 114;
			this->CB_DirVersionID->Tag = S"DirVersionID";
			this->CB_DirVersionID->SelectedIndexChanged += new System::EventHandler(this, &BaseForm::GetItemKey_SelectedIndexChanged);
			// 
			// label8
			// 
			this->label8->AutoSize = true;
			this->label8->Font = (new System::Drawing::Font(S"PMingLiU", 9, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
				(System::Byte)136));
			this->label8->ForeColor = System::Drawing::SystemColors::ActiveCaption;
			this->label8->Location = System::Drawing::Point(360, 59);
			this->label8->Name = S"label8";
			this->label8->Size = System::Drawing::Size(62, 12);
			this->label8->TabIndex = 113;
			this->label8->Text = S"VersionID";
			// 
			// CB_DirTagID
			// 
			this->CB_DirTagID->DropDownStyle = System::Windows::Forms::ComboBoxStyle::DropDownList;
			this->CB_DirTagID->FormattingEnabled = true;
			System::Object* __mcTemp__11[] = new System::Object*[2];
			__mcTemp__11[0] = S"DEFAULT-0";
			__mcTemp__11[1] = S"DEFAULT-1";
			this->CB_DirTagID->Items->AddRange(__mcTemp__11);
			this->CB_DirTagID->Location = System::Drawing::Point(424, 29);
			this->CB_DirTagID->Name = S"CB_DirTagID";
			this->CB_DirTagID->Size = System::Drawing::Size(98, 20);
			this->CB_DirTagID->TabIndex = 112;
			this->CB_DirTagID->Tag = S"DirTagID";
			this->CB_DirTagID->SelectedIndexChanged += new System::EventHandler(this, &BaseForm::GetItemKey_SelectedIndexChanged);
			// 
			// label7
			// 
			this->label7->AutoSize = true;
			this->label7->Font = (new System::Drawing::Font(S"PMingLiU", 9, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
				(System::Byte)136));
			this->label7->ForeColor = System::Drawing::SystemColors::ActiveCaption;
			this->label7->Location = System::Drawing::Point(360, 8);
			this->label7->Name = S"label7";
			this->label7->Size = System::Drawing::Size(47, 12);
			this->label7->TabIndex = 111;
			this->label7->Text = S"ZoneID";
			// 
			// label1
			// 
			this->label1->AutoSize = true;
			this->label1->Font = (new System::Drawing::Font(S"PMingLiU", 9, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
				(System::Byte)136));
			this->label1->ForeColor = System::Drawing::SystemColors::ActiveCaption;
			this->label1->Location = System::Drawing::Point(150, 104);
			this->label1->Name = S"label1";
			this->label1->Size = System::Drawing::Size(57, 12);
			this->label1->TabIndex = 97;
			this->label1->Text = S"資料分類";
			// 
			// DataGroup_Base
			// 
			this->DataGroup_Base->Location = System::Drawing::Point(209, 103);
			this->DataGroup_Base->Name = S"DataGroup_Base";
			this->DataGroup_Base->Size = System::Drawing::Size(96, 22);
			this->DataGroup_Base->TabIndex = 98;
			this->DataGroup_Base->Tag = S"DataGroup";
			this->DataGroup_Base->TextChanged += new System::EventHandler(this, &BaseForm::GetStr_TextChanged);
			// 
			// label6
			// 
			this->label6->AutoSize = true;
			this->label6->Font = (new System::Drawing::Font(S"PMingLiU", 9, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
				(System::Byte)136));
			this->label6->ForeColor = System::Drawing::SystemColors::ActiveCaption;
			this->label6->Location = System::Drawing::Point(360, 33);
			this->label6->Name = S"label6";
			this->label6->Size = System::Drawing::Size(40, 12);
			this->label6->TabIndex = 109;
			this->label6->Text = S"TagID";
			// 
			// CB_DirZoneID
			// 
			this->CB_DirZoneID->DropDownStyle = System::Windows::Forms::ComboBoxStyle::DropDownList;
			this->CB_DirZoneID->FormattingEnabled = true;
			System::Object* __mcTemp__12[] = new System::Object*[2];
			__mcTemp__12[0] = S"DEFAULT-0";
			__mcTemp__12[1] = S"DEFAULT-1";
			this->CB_DirZoneID->Items->AddRange(__mcTemp__12);
			this->CB_DirZoneID->Location = System::Drawing::Point(424, 2);
			this->CB_DirZoneID->Name = S"CB_DirZoneID";
			this->CB_DirZoneID->Size = System::Drawing::Size(98, 20);
			this->CB_DirZoneID->TabIndex = 106;
			this->CB_DirZoneID->Tag = S"DirZoneID";
			this->CB_DirZoneID->SelectedIndexChanged += new System::EventHandler(this, &BaseForm::GetItemKey_SelectedIndexChanged);
			// 
			// textBox4_Base
			// 
			this->textBox4_Base->Location = System::Drawing::Point(535, 21);
			this->textBox4_Base->Name = S"textBox4_Base";
			this->textBox4_Base->Size = System::Drawing::Size(170, 104);
			this->textBox4_Base->TabIndex = 105;
			this->textBox4_Base->Tag = S"ShortNote";
			this->textBox4_Base->Text = S"";
			this->textBox4_Base->TextChanged += new System::EventHandler(this, &BaseForm::GetStr_TextChanged);
			// 
			// button1
			// 
			this->button1->Location = System::Drawing::Point(893, 123);
			this->button1->Name = S"button1";
			this->button1->Size = System::Drawing::Size(133, 23);
			this->button1->TabIndex = 104;
			this->button1->Text = S"全選";
			this->button1->UseVisualStyleBackColor = true;
			this->button1->Click += new System::EventHandler(this, &BaseForm::SetAllLanguageClick);
			// 
			// textBox1
			// 
			this->textBox1->Location = System::Drawing::Point(209, 52);
			this->textBox1->MaxLength = 32;
			this->textBox1->Name = S"textBox1";
			this->textBox1->Size = System::Drawing::Size(146, 22);
			this->textBox1->TabIndex = 103;
			this->textBox1->Tag = S"Name_Plural";
			this->textBox1->TextChanged += new System::EventHandler(this, &BaseForm::GetStr_TextChanged);
			// 
			// label3
			// 
			this->label3->AutoSize = true;
			this->label3->Font = (new System::Drawing::Font(S"PMingLiU", 9, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
				(System::Byte)136));
			this->label3->ForeColor = System::Drawing::SystemColors::ActiveCaption;
			this->label3->Location = System::Drawing::Point(150, 57);
			this->label3->Name = S"label3";
			this->label3->Size = System::Drawing::Size(57, 12);
			this->label3->TabIndex = 102;
			this->label3->Text = S"複數名稱";
			// 
			// groupBox1
			// 
			this->groupBox1->Controls->Add(this->CLB_OutputLanguage);
			this->groupBox1->Location = System::Drawing::Point(890, 27);
			this->groupBox1->Name = S"groupBox1";
			this->groupBox1->Size = System::Drawing::Size(136, 95);
			this->groupBox1->TabIndex = 101;
			this->groupBox1->TabStop = false;
			this->groupBox1->Tag = S"";
			this->groupBox1->Text = S"可輸出語系";
			// 
			// CLB_OutputLanguage
			// 
			this->CLB_OutputLanguage->CheckOnClick = true;
			this->CLB_OutputLanguage->Dock = System::Windows::Forms::DockStyle::Fill;
			System::Object* __mcTemp__13[] = new System::Object*[32];
			__mcTemp__13[0] = S"繁體 (TW)";
			__mcTemp__13[1] = S"簡體 (CN)";
			__mcTemp__13[2] = S"英語 (ENUS)";
			__mcTemp__13[3] = S"德語 (DE)";
			__mcTemp__13[4] = S"英語 (ENEU)";
			__mcTemp__13[5] = S"日語 (JP)";
			__mcTemp__13[6] = S"韓語 (KR)";
			__mcTemp__13[7] = S"巴西 (BR)";
			__mcTemp__13[8] = S"土耳其(TR)";
			__mcTemp__13[9] = S"越南 (VN)";
			__mcTemp__13[10] = S"俄羅斯 (RU)";
			__mcTemp__13[11] = S" 新馬語系(SG)";
			__mcTemp__13[12] = S"法語(FR)";
			__mcTemp__13[13] = S"印尼(ID)";
			__mcTemp__13[14] = S"西班牙(ES)";
			__mcTemp__13[15] = S"荷蘭(NL)";
			__mcTemp__13[16] = S"菲律賓(PH)";
			__mcTemp__13[17] = S"羅馬尼亞(RO)";
			__mcTemp__13[18] = S"葡萄牙(PT)";
			__mcTemp__13[19] = S"波蘭(PL)";
			__mcTemp__13[20] = S"泰國(TH)";
			__mcTemp__13[21] = S"阿拉伯(AE)";
			__mcTemp__13[22] = S"南美(SA)";
			__mcTemp__13[23] = S"義大利(IT)";
			__mcTemp__13[24] = S"---------------";
			__mcTemp__13[25] = S"---------------";
			__mcTemp__13[26] = S"---------------";
			__mcTemp__13[27] = S"---------------";
			__mcTemp__13[28] = S"---------------";
			__mcTemp__13[29] = S"---------------";
			__mcTemp__13[30] = S"---------------";
			__mcTemp__13[31] = S"---------------";
			this->CLB_OutputLanguage->Items->AddRange(__mcTemp__13);
			this->CLB_OutputLanguage->Location = System::Drawing::Point(3, 18);
			this->CLB_OutputLanguage->Name = S"CLB_OutputLanguage";
			this->CLB_OutputLanguage->Size = System::Drawing::Size(130, 72);
			this->CLB_OutputLanguage->TabIndex = 0;
			this->CLB_OutputLanguage->Tag = S"OutputLanguage";
			this->CLB_OutputLanguage->Leave += new System::EventHandler(this, &BaseForm::ChangeFlag);
			// 
			// TB_ObjGUID
			// 
			this->TB_ObjGUID->Location = System::Drawing::Point(209, 1);
			this->TB_ObjGUID->Name = S"TB_ObjGUID";
			this->TB_ObjGUID->ReadOnly = true;
			this->TB_ObjGUID->Size = System::Drawing::Size(96, 22);
			this->TB_ObjGUID->TabIndex = 100;
			this->TB_ObjGUID->Tag = S"";
			// 
			// label2
			// 
			this->label2->AutoSize = true;
			this->label2->Font = (new System::Drawing::Font(S"PMingLiU", 9, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
				(System::Byte)136));
			this->label2->Location = System::Drawing::Point(150, 5);
			this->label2->Name = S"label2";
			this->label2->Size = System::Drawing::Size(57, 12);
			this->label2->TabIndex = 99;
			this->label2->Text = S"物件號碼";
			// 
			// label5_Base
			// 
			this->label5_Base->AutoSize = true;
			this->label5_Base->Font = (new System::Drawing::Font(S"PMingLiU", 9, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
				(System::Byte)136));
			this->label5_Base->ForeColor = System::Drawing::SystemColors::ActiveCaption;
			this->label5_Base->Location = System::Drawing::Point(707, 3);
			this->label5_Base->Name = S"label5_Base";
			this->label5_Base->Size = System::Drawing::Size(119, 12);
			this->label5_Base->TabIndex = 96;
			this->label5_Base->Text = S"來源註解(企劃參考)";
			// 
			// textBox5_Base
			// 
			this->textBox5_Base->Location = System::Drawing::Point(709, 21);
			this->textBox5_Base->MaxLength = 1024;
			this->textBox5_Base->Multiline = true;
			this->textBox5_Base->Name = S"textBox5_Base";
			this->textBox5_Base->Size = System::Drawing::Size(175, 101);
			this->textBox5_Base->TabIndex = 95;
			this->textBox5_Base->Tag = S"Note";
			this->textBox5_Base->TextChanged += new System::EventHandler(this, &BaseForm::GetStr_TextChanged);
			// 
			// label4_Base
			// 
			this->label4_Base->AutoSize = true;
			this->label4_Base->Font = (new System::Drawing::Font(S"PMingLiU", 9, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
				(System::Byte)136));
			this->label4_Base->ForeColor = System::Drawing::SystemColors::ActiveCaption;
			this->label4_Base->Location = System::Drawing::Point(533, 3);
			this->label4_Base->Name = S"label4_Base";
			this->label4_Base->Size = System::Drawing::Size(80, 12);
			this->label4_Base->TabIndex = 94;
			this->label4_Base->Text = S"說明文(遊戲)";
			// 
			// textBox1_Base
			// 
			this->textBox1_Base->Location = System::Drawing::Point(209, 27);
			this->textBox1_Base->MaxLength = 32;
			this->textBox1_Base->Name = S"textBox1_Base";
			this->textBox1_Base->Size = System::Drawing::Size(146, 22);
			this->textBox1_Base->TabIndex = 88;
			this->textBox1_Base->Tag = S"Name";
			this->textBox1_Base->TextChanged += new System::EventHandler(this, &BaseForm::GetStr_TextChanged);
			// 
			// label2_Base
			// 
			this->label2_Base->AutoSize = true;
			this->label2_Base->Font = (new System::Drawing::Font(S"PMingLiU", 9, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
				(System::Byte)136));
			this->label2_Base->ForeColor = System::Drawing::SystemColors::ActiveCaption;
			this->label2_Base->Location = System::Drawing::Point(150, 80);
			this->label2_Base->Name = S"label2_Base";
			this->label2_Base->Size = System::Drawing::Size(31, 12);
			this->label2_Base->TabIndex = 86;
			this->label2_Base->Text = S"圖形";
			// 
			// label1_Base
			// 
			this->label1_Base->AutoSize = true;
			this->label1_Base->Font = (new System::Drawing::Font(S"PMingLiU", 9, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
				(System::Byte)136));
			this->label1_Base->ForeColor = System::Drawing::SystemColors::ActiveCaption;
			this->label1_Base->Location = System::Drawing::Point(150, 31);
			this->label1_Base->Name = S"label1_Base";
			this->label1_Base->Size = System::Drawing::Size(57, 12);
			this->label1_Base->TabIndex = 85;
			this->label1_Base->Text = S"物件名稱";
			// 
			// ImageID_Base
			// 
			this->ImageID_Base->Location = System::Drawing::Point(209, 77);
			this->ImageID_Base->Name = S"ImageID_Base";
			this->ImageID_Base->Size = System::Drawing::Size(96, 22);
			this->ImageID_Base->TabIndex = 89;
			this->ImageID_Base->Tag = S"ImageID";
			this->ImageID_Base->DoubleClick += new System::EventHandler(this, &BaseForm::SearchImageClick);
			this->ImageID_Base->TextChanged += new System::EventHandler(this, &BaseForm::GetIntValue_TextChanged);
			// 
			// groupBox_Base
			// 
			this->groupBox_Base->Controls->Add(this->LB_ProcRate);
			this->groupBox_Base->Location = System::Drawing::Point(8, 8);
			this->groupBox_Base->Name = S"groupBox_Base";
			this->groupBox_Base->Size = System::Drawing::Size(136, 117);
			this->groupBox_Base->TabIndex = 84;
			this->groupBox_Base->TabStop = false;
			this->groupBox_Base->Text = S"進度";
			// 
			// LB_ProcRate
			// 
			this->LB_ProcRate->CheckOnClick = true;
			System::Object* __mcTemp__14[] = new System::Object*[5];
			__mcTemp__14[0] = S"資料設定完成";
			__mcTemp__14[1] = S"3D模型完成";
			__mcTemp__14[2] = S"2D圖形";
			__mcTemp__14[3] = S"貼圖完成";
			__mcTemp__14[4] = S"測試完成";
			this->LB_ProcRate->Items->AddRange(__mcTemp__14);
			this->LB_ProcRate->Location = System::Drawing::Point(8, 16);
			this->LB_ProcRate->Name = S"LB_ProcRate";
			this->LB_ProcRate->Size = System::Drawing::Size(120, 72);
			this->LB_ProcRate->TabIndex = 0;
			this->LB_ProcRate->Tag = S"ProcRate";
			this->LB_ProcRate->Leave += new System::EventHandler(this, &BaseForm::ChangeFlag);
			// 
			// panel4_Base
			// 
			this->panel4_Base->AutoScroll = true;
			this->panel4_Base->Dock = System::Windows::Forms::DockStyle::Fill;
			this->panel4_Base->Location = System::Drawing::Point(204, 188);
			this->panel4_Base->Name = S"panel4_Base";
			this->panel4_Base->Size = System::Drawing::Size(1086, 554);
			this->panel4_Base->TabIndex = 12;
			// 
			// MU_SelectObj
			// 
			System::Windows::Forms::MenuItem* __mcTemp__15[] = new System::Windows::Forms::MenuItem*[2];
			__mcTemp__15[0] = this->menuItem_Base1;
			__mcTemp__15[1] = this->menuItem_Base2;
			this->MU_SelectObj->MenuItems->AddRange(__mcTemp__15);
			// 
			// menuItem_Base1
			// 
			this->menuItem_Base1->Index = 0;
			this->menuItem_Base1->Text = S"設定";
			this->menuItem_Base1->Click += new System::EventHandler(this, &BaseForm::SelectObjClick);
			// 
			// menuItem_Base2
			// 
			this->menuItem_Base2->Index = 1;
			this->menuItem_Base2->Text = S"查尋";
			this->menuItem_Base2->Click += new System::EventHandler(this, &BaseForm::ViewSelectObj);
			// 
			// sqlCommand_Base1
			// 
			this->sqlCommand_Base1->CommandTimeout = 360;
			this->sqlCommand_Base1->Connection = this->sqlConnection_Base1;
			// 
			// sqlConnection_Base1
			// 
			this->sqlConnection_Base1->ConnectionString = S"workstation id=HSIANG;packet size=4096;user id=hsiangren;persist security info=Tr" 
				S"ue;initial catalog=ObjectData;password=2ddilxxl;data source=GS1";
			this->sqlConnection_Base1->FireInfoMessageEventOnUserErrors = false;
			// 
			// splitter1
			// 
			this->splitter1->Location = System::Drawing::Point(204, 188);
			this->splitter1->Name = S"splitter1";
			this->splitter1->Size = System::Drawing::Size(3, 554);
			this->splitter1->TabIndex = 13;
			this->splitter1->TabStop = false;
			// 
			// BaseForm
			// 
			this->AutoScaleBaseSize = System::Drawing::Size(5, 15);
			this->ClientSize = System::Drawing::Size(1290, 742);
			this->Controls->Add(this->splitter1);
			this->Controls->Add(this->panel4_Base);
			this->Controls->Add(this->panel6_Base);
			this->Controls->Add(this->panel5_Base);
			this->Controls->Add(this->panel1_Base);
			this->Menu = this->mainMenu_Base;
			this->Name = S"BaseForm";
			this->Text = S"基礎物件";
			this->Deactivate += new System::EventHandler(this, &BaseForm::OnBaseFormDeactive);
			this->Load += new System::EventHandler(this, &BaseForm::BaseForm_Load);
			this->Activated += new System::EventHandler(this, &BaseForm::OnBaseFormActive);
			this->Closing += new System::ComponentModel::CancelEventHandler(this, &BaseForm::BaseForm_Closing);
			this->panel1_Base->ResumeLayout(false);
			this->panel7_Base->ResumeLayout(false);
			this->tabControl1_Base->ResumeLayout(false);
			this->tabPage1_Base->ResumeLayout(false);
			(__try_cast<System::ComponentModel::ISupportInitialize*  >(this->treeList1))->EndInit();
			this->CMStrip_ObjTreeView->ResumeLayout(false);
			this->tabPage2_Base->ResumeLayout(false);
			this->panel3_Base->ResumeLayout(false);
			(__try_cast<System::ComponentModel::ISupportInitialize*  >(this->NUD_CreateCount))->EndInit();
			this->panel2_Base->ResumeLayout(false);
			this->panel2_Base->PerformLayout();
			this->panel5_Base->ResumeLayout(false);
			this->panel5_Base->PerformLayout();
			this->panel6_Base->ResumeLayout(false);
			this->panel6_Base->PerformLayout();
			this->groupBox1->ResumeLayout(false);
			this->groupBox_Base->ResumeLayout(false);
			this->ResumeLayout(false);

		}		

		public:
        System::Void OnBaseFormActive(System::Object *  sender, System::EventArgs *  e);        
        System::Void OnBaseFormDeactive(System::Object *  sender, System::EventArgs *  e);
        Control* GetEditByTagName ( Control* parentCtrl, String* TagName );
        System::Void CB_UseSQL_CheckedChanged(System::Object *  sender, System::EventArgs *  e);

        System::Void OnUpDateList(System::Object *  sender, System::EventArgs *  e);
        System::Void OnNewObj(System::Object *  sender, System::EventArgs *  e);
        System::Void OnSelectObj(System::Object *  sender, System::EventArgs *  e);
        System::Void OnCB_Lock_Click(System::Object *  sender, System::EventArgs *  e);
        System::Void BT_Undo_Click(System::Object *  sender, System::EventArgs *  e);
        System::Void OnOutputString(System::Object *  sender, System::EventArgs *  e);
//        System::Void OnOutputFileByStringTable(System::Object *  sender, System::EventArgs *  e);

        System::Void OnTimePorcEvent(System::Object *  sender, System::EventArgs *  e);
        System::Void OnOutputFile1(System::Object *  sender, System::EventArgs *  e);
		System::Void OnOutputFile2(System::Object *  sender, System::EventArgs *  e);
		System::Void OnOutputFile3(System::Object *  sender, System::EventArgs *  e);
		System::Void OnOutputFile4(System::Object *  sender, System::EventArgs *  e);
		System::Void OnOutputFile5(System::Object *  sender, System::EventArgs *  e);
		System::Void OnOutputFile6(System::Object *  sender, System::EventArgs *  e);
		System::Void OnOutputFile7(System::Object *  sender, System::EventArgs *  e);
		System::Void OnOutputFile8(System::Object *  sender, System::EventArgs *  e);
		System::Void OnOutputFile9(System::Object *  sender, System::EventArgs *  e);
		System::Void OnOutputFile10(System::Object *  sender, System::EventArgs *  e);
		System::Void OnOutputFile11(System::Object *  sender, System::EventArgs *  e);
		System::Void OnOutputFile12(System::Object *  sender, System::EventArgs *  e);
		System::Void OnOutputFile13(System::Object *  sender, System::EventArgs *  e);
		System::Void OnOutputFile14(System::Object *  sender, System::EventArgs *  e);
		System::Void OnOutputFile15(System::Object *  sender, System::EventArgs *  e);
		System::Void OnOutputFile16(System::Object *  sender, System::EventArgs *  e);
		System::Void OnOutputFileDesign(System::Object*  sender, System::EventArgs*  e);

        System::Void ViewSelectObj(System::Object *  sender, System::EventArgs *  e);
        System::Void SelectObjClick(System::Object *  sender, System::EventArgs *  e);
        System::Void SearchObj_DClick(System::Object *  sender, System::EventArgs *  e);
		System::Void SearchNPC_Click(System::Object *  sender, System::EventArgs *  e);
        System::Void SearchMagicClick(System::Object *  sender, System::EventArgs *  e);
        System::Void SearchMagicBaseClick(System::Object *  sender, System::EventArgs *  e);
        System::Void SearchItemClick(System::Object *  sender, System::EventArgs *  e);
        System::Void SearchWeaponClick(System::Object *  sender, System::EventArgs *  e);
        System::Void SearchArmorClick(System::Object *  sender, System::EventArgs *  e);
        System::Void SearchImageClick(System::Object *  sender, System::EventArgs *  e);
        System::Void SearchRecipeClick(System::Object *  sender, System::EventArgs *  e);
		System::Void SearchCardClick(System::Object *  sender, System::EventArgs *  e);
        System::Void SearchKeyItemClick(System::Object *  sender, System::EventArgs *  e);
		System::Void SearchSuitClick(System::Object *  sender, System::EventArgs *  e);
		System::Void SearchAttribute_Click(System::Object *  sender, System::EventArgs *  e);
        System::Void SelectSqlCmd_Click(System::Object *  sender, System::EventArgs *  e);
        System::Void GetStr_TextChanged(System::Object *  sender, System::EventArgs *  e);
        System::Void GetValue_ValueChanged(System::Object *  sender, System::EventArgs *  e);
		System::Void SetNumValue_TextChanged(System::Object *  sender, System::Windows::Forms::KeyEventArgs *  e);
        System::Void ChangeFlag(System::Object *  sender, System::EventArgs *  e);
        System::Void GetIndex_SelectedIndexChanged(System::Object *  sender, System::EventArgs *  e);
		System::Void GetItemKey_SelectedIndexChanged(System::Object *  sender, System::EventArgs *  e);	
		System::Void GetValue_CheckChanged(System::Object *  sender, System::EventArgs *  e);
		System::Void GetFloatValue_TextChanged(System::Object *  sender, System::EventArgs *  e);
		System::Void GetIntValue_TextChanged(System::Object *  sender, System::EventArgs *  e);
        System::Void BaseForm_Closing(System::Object *  sender, System::ComponentModel::CancelEventArgs *  e);
        System::Void SearchPath_DClick(System::Object *  sender, System::EventArgs *  e);
		System::Void SearchPath_MouseDClick(System::Object *  sender, System::Windows::Forms::MouseEventArgs *  e);
        System::Void BaseForm_Load(System::Object *  sender, System::EventArgs *  e);
		System::Void CopyObj_Base_Click(System::Object*  sender, System::EventArgs*  e);
		System::Void Select_Ability_Click(System::Object*  sender, System::EventArgs*  e);


		System::Void NewToolStripMenuItem_Click(System::Object*  sender, System::EventArgs*  e);
		System::Void DelToolStripMenuItem_Click(System::Object*  sender, System::EventArgs*  e);
		System::Void moveToolStripMenuItem_Click(System::Object*  sender, System::EventArgs*  e);
		System::Void selectmoveToolStripMenuItem_Click(System::Object*  sender, System::EventArgs*  e);
		System::Void TV_ObjGroup_AfterLabelEdit(System::Object*  sender, DevExpress::XtraTreeList::CellValueChangedEventArgs*  e);

		System::Void TV_ObjGroup_MouseDown(System::Object*  sender, System::Windows::Forms::MouseEventArgs*  e);
		System::Void TV_ObjGroup_MouseUp(System::Object*  sender, System::Windows::Forms::MouseEventArgs*  e);
		System::Void TV_ObjGroup_MouseMove(System::Object*  sender, System::Windows::Forms::MouseEventArgs*  e);
		System::Void TV_ObjGroup_DragOver(System::Object*  sender, System::Windows::Forms::DragEventArgs*  e);
		System::Void TV_ObjGroup_DragDrop(System::Object*  sender, System::Windows::Forms::DragEventArgs*  e);

		System::Void Treelist_AfterExpand(System::Object*  sender, DevExpress::XtraTreeList::NodeEventArgs*  e);
		System::Void TV_ObjGroup_AfterSelect(System::Object*  sender, DevExpress::XtraTreeList::NodeEventArgs*  e);
		System::Void treeList1_ShownEditor(System::Object*  sender, System::EventArgs*  e);
		System::Void Treelist_Collapse(System::Object*  sender, DevExpress::XtraTreeList::NodeEventArgs*  e);
		System::Void CB_SelectType_SelectedIndexChanged(System::Object*  sender, System::EventArgs*  e);
		System::Void SetAllLanguageClick(System::Object*  sender, System::EventArgs*  e);
		System::Void OnEnterSetTag(System::Object*  sender, System::EventArgs*  e);
		System::Void ShowAllHistoryClick(System::Object*  sender, System::EventArgs*  e);
		System::Void ShowHistoryClick(System::Object*  sender, System::EventArgs*  e);
		System::Void BatchUpdate_Click(System::Object*  sender, System::EventArgs*  e);
		System::Void ExportDataClick(System::Object*  sender, System::EventArgs*  e);
		System::Void OnMoveOutSide(System::Object*  sender, System::EventArgs*  e);
		System::Void LoadFolderItem(System::Object*  sender, System::EventArgs*  e);
    protected:
        //######################################################################################################
        //主要需要繼承的涵式
		//當Form產生時
        virtual void    OnLoad(){};
		//定時處理
        virtual void    OnTimeProc(){};
        virtual void    OnActive();
        virtual void    OnDeactive(){};
        virtual void    OnSelectObj( bool LockOk ){};
        virtual void    OnValueChange( ){};
        //輸出時額外設定  當輸出時會觸發
		virtual void    OnOutputObjSetting( DB_GameObjDbStruct* TempObj ) {};
		virtual void    OnBaseOutputObjSetting( DB_GameObjDbStruct* TempObj );
		
		//回傳輸出物件的Size
		virtual int     ObjSize();
		//資料與位置址標的資訊
        virtual ReaderClass< DB_GameObjDbStruct >* ObjReader( );
		//把字串輸入到資料庫內
        virtual void    SaveString(  DB_GameObjDbStruct* TempObj );
		//重資料庫內讀取某物件的資料
		virtual bool	ReadObj_ByGUID( int GUID );

		//載入資料時, 讀取某筆資料
		virtual	void	OnLoadTagData( String* Tag, ReadInfoTypeENUM Type, PVOID pData );

		//更新資料之後的事件
		virtual void	AfterUpdateObj( DB_GameObjDbStruct* TempObj ){};
        //######################################################################################################
		//設定所有Enter的事件
		int		GetStringID( const char* pSource, const char* pKey );
		void	SetOnEnterShowTagEvent( Control* parentCtrl );

		//檢查資料是否還在索定中        
        bool    IsLock( ){ return (CB_Lock->CheckState == CheckState::Checked);	};

		//設定工作目錄
        void    SetFilePath( );
        
		//鎖定資料或取消鎖定簡查
        void    Lock_Click( );

		//更新物件資訊到顯示( 直接修改物件內容沒修改顯示內容時要設定)
        virtual void    UpDate_DataToDisplay( );

		//更新SQL的列表資訊
        virtual  void    UpDateList( );

		//把目前所編輯的物件資料還原
        void    UndoData( );

		//設定顯示 某個物件資料  ID 為 _ObjList 內第幾個
        void    SelectObj( int ID , bool NeedUpdate );
		bool	SelectObj_byGUID( int GUID , bool NeedUpdate );

		//取消鎖定並儲存
        virtual void    UnLockAndSave( );

		//產生新的編輯物件
        virtual void    NewObj( );

		//讓CheckListBox 的 Check 依 Value 值設定
        void    SetCheckListBoxFlag( CheckedListBox* Edit , int Value );

		//讓 Sender->Text 設定為所選的GUID的號碼
        void    SelectObject( System::Object *  sender );

		//搜尋某物件的名稱
        String* SearchObjName( int GUID , bool bNULL );
		String* SearchObjName( int GUID );

		//搜尋某物件的價值
		int	SearchObjCost( int GUID );

		//搜尋某GUID是否在此Form內
        bool    ActiveSearchObjForm( int GUID );

        //檢查是否可以修改
        bool    CheckModifyAndCheckOut();

		//載入人物參數資料
		void	Reload_AttrTable( );

		void	OnCreateForm();
		void	OnCloseForm();

		//載入物件樹狀資料結構
		void	LoadTreeView();				

		int		GetStandardAbilityValue( int LV , int Type , float Rate );

		virtual void	OnOutputFileProc( int Language );
		
		void	CompareChangeLog( );
    public:
        //######################################################################################################
        // BaseFormControl
        virtual void    InitTable( );
        //virtual void    OutputFile( );
		virtual void    OutputFileLanguage( int LanguageID );
        virtual void    OutputStringToDB( );      

		virtual	bool	GetQuestLink();

//        virtual void    OutputFileByStringTable( );
        //######################################################################################################

        static void    Init()
        {
            _FormList = new ArrayList();
        }

        static bool		SetActiveByObjGUID( int GUID );

		//寫檔時固定的開檔行為
		static bool		OutputFile_SimplifyProcess( fstream& file , const char* OpenFileName , const char* SubFile );

		void	KeyWord( const char* pszKeyWord, char* pszSourceText, int& iType );		// iType, 0 找不到, 1 任務 NPC Name, 2 ItemName, 3 ZoneName
    protected:
		System::Drawing::Rectangle							DragBoxFromMouseDown;
		DevExpress::XtraTreeList::Nodes::TreeListNode*		DragNodeMouseDown;
		DevExpress::XtraTreeList::Nodes::TreeListNode*		DropNodeMouseUp;
		//static Object* StorageExpand __gc [] = new Object* [20000];	  //儲存Node是否被打開過(不重複做Node用)

        vector < DB_GameObjDbIndexStruct >* _ObjList;   //所有SQL找出來的物件列表資訊

		vector < char*>*	_StrList;					//物件需分離的字串產生暫時的儲存位置
        //物件資料
        DB_GameObjDbStruct  _ObjDB;
		DB_GameObjDbStruct  _ObjDB_Backup;				//資料庫內讀出時的資料
        bool                _OnUpdate_DataToDisplay;	//更新物件資訊到顯示( 更新中)
		bool                _OnValueChange;				//資料有更新

        //資料更新事件
        bool                _Update_DataToDisplay;		//更新物件資訊到顯示( 直接修改物件內容沒修改顯示內容時要設定)
        bool                _Update_ObjList;			//更新物件列表資訊
        bool                _Update_SelectObj;			//更新所選則的物件( 重資料庫內重新載入 )
		bool				_EnterOnTimeProc;
        
        int                 _ObjGUID;					//目前處理的物件
        SearchFormTypeENUM  _FormType;					//這個Form的類型
        static ArrayList*   _FormList;					//所有的類Form的列表

		static map< int, set< int > >*	_mapQuestLink;
		static map< int, set< int > >*	_mapQuestProviderLink;
		DateTime mouseClicked;
	
//	System::Void VersionTransferClick(System::Object*  sender, System::EventArgs*  e);
 
		

};
/*
template< class TKey, class TValue >
class ComboBoxItem
{
public:
	TKey mKey;
	TValue mValue;

	ComboBoxItem(TKey key, TValue value)
	{
		mKey = key;
		mValue = value;
	}

	TKey Key()
	{
		get
		{
			return mKey;
		}
		set
		{
			mKey = value;
		}
	}

	TValue Value()
	{
		get
		{
			return mValue;
		}
		set
		{
			mValue = value;
		}
	}

	string ToString()
	{
		return mValue.ToString();
	}
};
*/

public __gc class ComboBoxItem : public System::Object 
{
public:
	ComboBoxItem( int key, const char* value )
	{
		m_Key	= key;
		m_Value = new String( value );
	}

	String* ToString()
	{
		return m_Value;
	}

	int			m_Key;
	String*		m_Value;

};



}
/*
namespace DocuTrackProSE
{
	/// <summary>
	/// Summary description for InputBox.
	/// 
	public __gc class InputBoxDialog : System::Windows::Forms::Form //System.Windows.Forms.Form
	{

#region Windows Contols and Constructor

		private System.Windows.Forms.Label lblPrompt;
		private System.Windows.Forms.Button button1;
		private System.Windows.Forms.TextBox txtInput;
		/// <summary>
		/// Required designer variable.
		/// 
		private System.ComponentModel.Container components = null;

		public InputBoxDialog()
		{
			//
			// Required for Windows Form Designer support
			//
			InitializeComponent();

			//
			// TODO: Add any constructor code after InitializeComponent call
			//
		}

#endregion

#region Dispose

		/// <summary>
		/// Clean up any resources being used.
		/// 
		protected override void Dispose(bool disposing)
		{
			if (disposing)
			{
				if (components != null)
				{
					components.Dispose();
				}
			}
			base.Dispose(disposing);
		}

#endregion

#region Windows Form Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// 
		private void InitializeComponent()
		{
			this.lblPrompt = new System.Windows.Forms.Label();
			this.button1 = new System.Windows.Forms.Button();
			this.txtInput = new System.Windows.Forms.TextBox();
			this.btnOK = new System.Windows.Forms.Button();
			this.SuspendLayout();
			// 
			// lblPrompt
			// 
			this.lblPrompt.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
				| System.Windows.Forms.AnchorStyles.Left)
				| System.Windows.Forms.AnchorStyles.Right)));
			this.lblPrompt.BackColor = System.Drawing.SystemColors.Control;
			this.lblPrompt.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
			this.lblPrompt.Location = new System.Drawing.Point(12, 17);
			this.lblPrompt.Name = "lblPrompt";
			this.lblPrompt.Size = new System.Drawing.Size(303, 22);
			this.lblPrompt.TabIndex = 3;
			// 
			// button1
			// 
			this.button1.DialogResult = System.Windows.Forms.DialogResult.Cancel;
			this.button1.Location = new System.Drawing.Point(323, 45);
			this.button1.Name = "button1";
			this.button1.Size = new System.Drawing.Size(64, 27);
			this.button1.TabIndex = 2;
			this.button1.Text = "&Cancel";
			this.button1.Click += new System.EventHandler(this.button1_Click);
			// 
			// txtInput
			// 
			this.txtInput.Location = new System.Drawing.Point(8, 78);
			this.txtInput.Name = "txtInput";
			this.txtInput.Size = new System.Drawing.Size(379, 22);
			this.txtInput.TabIndex = 0;
			this.txtInput.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtInput_KeyPress);
			// 
			// btnOK
			// 
			this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;
			this.btnOK.Location = new System.Drawing.Point(323, 12);
			this.btnOK.Name = "btnOK";
			this.btnOK.Size = new System.Drawing.Size(64, 27);
			this.btnOK.TabIndex = 1;
			this.btnOK.Text = "&OK";
			this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
			// 
			// InputBoxDialog
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 15);
			this.ClientSize = new System.Drawing.Size(399, 111);
			this.Controls.Add(this.txtInput);
			this.Controls.Add(this.button1);
			this.Controls.Add(this.btnOK);
			this.Controls.Add(this.lblPrompt);
			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
			this.MaximizeBox = false;
			this.MinimizeBox = false;
			this.Name = "InputBoxDialog";
			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
			this.Text = "InputBox";
			this.Load += new System.EventHandler(this.InputBox_Load);
			this.ResumeLayout(false);
			this.PerformLayout();

		}
#endregion

#region Private Variables
		string formCaption = string.Empty;
		string formPrompt = string.Empty;
		string inputResponse = string.Empty;
		string defaultValue = string.Empty;
#endregion

#region Public Properties
		public string FormCaption
		{
			get { return formCaption; }
			set { formCaption = value; }
		} // property FormCaption
		public string FormPrompt
		{
			get { return formPrompt; }
			set { formPrompt = value; }
		} // property FormPrompt
		public string InputResponse
		{
			get { return inputResponse; }
			set { inputResponse = value; }
		} // property InputResponse
		public string DefaultValue
		{
			get { return defaultValue; }
			set { defaultValue = value; }
		} // property DefaultValue

#endregion

#region Form and Control Events
		private void InputBox_Load(object sender, System.EventArgs e)
		{
			this.txtInput.Text = defaultValue;
			this.lblPrompt.Text = formPrompt;
			this.Text = formCaption;
			this.txtInput.SelectionStart = 0;
			this.txtInput.SelectionLength = this.txtInput.Text.Length;
			this.txtInput.Focus();
		}


		private void btnOK_Click(object sender, System.EventArgs e)
		{
			InputResponse = this.txtInput.Text;
			this.Close();
		}

		private void button1_Click(object sender, System.EventArgs e)
		{
			this.Close();
		}

		public static string InputBox(string prompt, string title, string defaultValue)
		{
			InputBoxDialog ib = new InputBoxDialog();
			ib.FormPrompt = prompt;
			ib.FormCaption = title;
			ib.DefaultValue = defaultValue;
			ib.ShowDialog();
			string s = ib.InputResponse;
			ib.Close();
			return s;
		}// method: InputBox

		private Button btnOK;

		private void txtInput_KeyPress(object sender, KeyPressEventArgs e)
		{
			if (e.KeyChar == 13)
			{
				btnOK_Click(sender, e);
				e.Handled = true;
			}
		}
#endregion
	}
}
*/