Exemple #1
0
void CConsoleEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
	if( nChar == 13 )
	{
		MoveToEnd();
		Refresh();
		CString allText;
		GetWindowText(allText);
		allText = allText.Mid(m_last_title_pos);
		strncpy(m_cmd,allText,
			allText.GetLength() > (sizeof(m_cmd)-1)
			?
			sizeof(m_cmd)-1 : allText.GetLength()
			);
		
		// 回车
		CEdit::OnChar(nChar, nRepCnt, nFlags);
		// 保存命令
		SaveCommand(m_cmd);
		// 发送给父窗口
		LRESULT result = SendMessageToParent(m_cmd,NM_CONSOLE_ENTER);
		// 清空命令
		memset(m_cmd,0,sizeof(m_cmd));
		// 根据父窗口返回值
		// 父窗口返回0,表示处理完毕,需要返回初始命令状态
		if (!result)
		{
			// 回车(空一行)
			CEdit::OnChar(nChar, nRepCnt, nFlags);
			// 添加初始命令提示
			AddTexts(m_pretitle);
		}
		return;
	}
	else
	{
		if (nChar == 8)
		{
			if (GetCurrentPosition() <= m_last_title_pos)
				return;
		}
		// 输入必须在m_last_title_pos之后
		if (GetCurrentPosition() < m_last_title_pos)
			MoveToEnd();

	}
/**************改用字符比较********************/
	CEdit::OnChar(nChar, nRepCnt, nFlags);
}
//---------------------------------------------------------------------------
void __fastcall TNewEn::btnOpenClick(TObject *Sender)
{
    OpenDialog->Filter = "Model File|*.xml";
    OpenDialog->DefaultExt = "*.XML";
    OpenDialog->FileName = "*.XML";
    if(g_pProject->m_bModified)
    {
      switch (Application->MessageBox("Model File has been modified, save£¿","Hint",MB_YESNOCANCEL))
      {  case ID_YES :
            SaveCommand();
            break;
         case ID_CANCEL :
            return;
      }
    }
    ClearProject();
    InitialProject();
    if(OpenDialog->Execute())
    {
        g_pProject->m_strFileName=OpenDialog->FileName;
        AnsiString exten = ExtractFileExt(OpenDialog->FileName);
        exten = exten.UpperCase();
        if(exten == ".XML")
        {
          g_pProject->XMLDoc = XMLDocument1;
          g_pProject->LoadFromXML(g_pProject->m_strFileName);

          if( graphic==NULL)
             graphic=new Graphics::TBitmap();
          if(g_pProject->m_strLayout.Length()>2)
          {
           try {
              graphic->LoadFromFile(g_pProject->m_strLayout);
           } catch (Exception &e)
           {  ShowMessage(e.Message);delete graphic;graphic=NULL;
           }
          }
          this->Caption="Smart Environment----"+g_pProject->m_strFileName;
        }
        else
        {
          return;
        }
        FrameProperty->RefreshProjectTree();
        Refresh();
    }

}
Exemple #3
0
	//Save the commands
	STL_ITERATE( bi, m_commands )
	{
		SaveCommand( (*bi) );
	}