⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addeditdialog.cpp

📁 mtk simulator v2 new source code
💻 CPP
📖 第 1 页 / 共 5 页
字号:
/*****************************************************************************
*  Copyright Statement:
*  --------------------
*  This software is protected by Copyright and the information contained
*  herein is confidential. The software may not be copied and the information
*  contained herein may not be used or disclosed except with the written
*  permission of MediaTek Inc. (C) 2005
*
*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
*
*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/**************************************************************

	FILENAME	: AddEditDialog.cpp

  	PURPOSE		: Declaration file.

	REMARKS		: nil

	AUTHOR		: Pankaj Adlakha

	DATE		: Oct,04

**************************************************************/

// AddEditDialog.cpp : implementation file
//

#include "stdafx.h"
#include "QMMINWSimulator.h"
#include "AddEditDialog.h"
#include "Application.h"
#include "NWGCMLHandler.h"
#include "format.h"
#include "datalist.h"
#include "MsgAttributeChange.h"
#include "MessageSearch.h"
#include "TaskInit.h"
#include "MMINWSimulatorDlg.h"
#include "NSRThread.h"
#include ".\addeditdialog.h"
#include "GlobalConstants.h"
#include "PixtelDataTypes.h"
extern CNSRThread *myNSRThread;
IMPLEMENT_DYNAMIC(CAddEditDialog, CDialog)
CAddEditDialog::CAddEditDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CAddEditDialog::IDD, pParent)
	//, DataSetInputMode()
	//, DialogBasedInputMode()
{
	buffer_for_str = (char *)malloc(20);

}

CAddEditDialog::~CAddEditDialog()
{
	free(buffer_for_str);
}

void CAddEditDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_DATAWINDOW_PAN, datawindow);
	//DDX_Control(pDX, IDC_COMBO1, AppIdCombo);
	DDX_Control(pDX, IDC_MSGCOMBO_PAN, MsgIdCombo);
	DDX_Control(pDX, IDC_APPCOMBO_PAN, AppIdCombo);
	DDX_Control(pDX, IDC_DSCOMBO_PAN, DSIdCombo);
	DDX_Control(pDX, IDC_NAMEEDIT_PAN, NewDataSetNameEdit);
	DDX_Control(pDX, IDC_DESCREDIT_PAN, NewDataSetDescrEdit);
	//DDX_Control(pDX, IDC_LIST,datawindow);
	//DDX_Control(pDX, IDC_CHGATTRB_PAN, ChangeAttrib);
	DDX_Control(pDX, IDC_FREQCOMBO_PAN, DataSetFreqCombo);
	DDX_Control(pDX, IDC_TIMECOMBO, DataSetTimerCombo);
	DDX_Control(pDX, IDC_NEWDATASETBUTTON_PAN, NewDataSetButton);
	DDX_Control(pDX, IDC_DEFCOMBO_PAN, DefaultDataSetCombo);
	//DDX_Control(pDX, IDC_DATASETRADIO_PAN, DataSetInputMode);
	//DDX_Control(pDX, IDC_DIALOGBASEDRADIO_PAN, DialogBasedInputMode);
	DDX_Control(pDX, IDC_BUTTON_SAVE_PAN, SaveButton);
	DDX_Control(pDX, IDC_BUTTON_SAVESEND_DATASET, SaveSendButton);
	DDX_Control(pDX, IDC_BUTTON_SEND_DATASET, SendButton);
	DDX_Control(pDX, IDC_SEARCHBUTTON_PAN, SearchMessage_button);
	DDX_Control(pDX, IDC_STATIC_APP_ID_COMBO, static_appid_combo);
	DDX_Control(pDX, IDC_STATIC_MSGID_COMBO, static_msgid_combo);
	DDX_Control(pDX, IDC_STATIC_DSNAME_COMBO, static_dsname);
	DDX_Control(pDX, IDC_STATIC_DATASET_ATTRIBUTES, static_dsattribs);
	DDX_Control(pDX, IDC_STATIC_FREQ, static_freq);
	DDX_Control(pDX, IDC_STATIC_TIMER, static_timer);
	DDX_Control(pDX, IDC_STATIC_DATASET_DETAIL, static_ds_details);
	DDX_Control(pDX, IDC_BUTTON_CANCEL_PAN, close_button);
	//DDX_Control(pDX, IDC_STATIC_CHG_ATTRIBS, chg_attrib_button);
	DDX_Control(pDX, IDC_STATIC_ADD_NEWDS, static_new_ds);
	DDX_Control(pDX, IDC_STATIC_NEW_DS_DESCR, static_new_ds_desrc);
	DDX_Control(pDX, IDC_STATIC_NEW_NAME, static_new_ds_name);
	DDX_Control(pDX, IDC_STATIC_NEW_DESCR, static_new_ds_descr);
	DDX_Control(pDX, IDC_STATIC_ASYNC_MSG_ATTRIBS, static_async_msg_attribs);
	//DDX_Control(pDX, IDC_STATIC_DEFAULT_DS, static_default_ds);
	//DDX_Control(pDX, IDC_STATIC_INPUT_MODE, static_inp_mode);
	DDX_Control(pDX, IDC_STATIC_SEL_DS_DESCR, static_sel_ds_descr);
	DDX_Control(pDX, IDC_EDIT_SEL_DS_DESCR, edit_sel_ds_descr);
	DDX_Control(pDX, IDC_STATIC_DS_DESCR, static_ds_details_box);
	DDX_Control(pDX, IDC_COMBO_INPUT_MODE, InputModeCombo);
	DDX_Control(pDX, IDC_STATIC_DEFAULT_DS_NAME, static_default_text);
	DDX_Control(pDX, IDC_STATIC_INPUT_MODE, static_input_mode_text);
}

void CAddEditDialog::SetValueOfMsgId(UINT32 MsgId)
{
	MessageId = MsgId;
}


BOOL CAddEditDialog::OnInitDialog()
{
	CDialog::OnInitDialog();
    	//text initialisation 
	
	InitialiseText();

	InitialiseControls();
	close_button.SetFocus();
	return 1;
}

void CAddEditDialog::InitialiseText()
{
	LoadString(library_identifier,IDS_STRING_STATIC_APPID_COMBO, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_appid_combo.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_STATIC_MSGID_COMBO, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_msgid_combo.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_STATIC_DSNAME_COMBO, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_dsname.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_STATIC_DS_ATTRIBS, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_dsattribs.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_STATIC_FREQ, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_freq.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_STATIC_TIMER, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_timer.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_SEARCH_MSG, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	SearchMessage_button.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_DS_VALUES, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_ds_details.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_SAVENSEND, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	SaveSendButton.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_SAVE, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	SaveButton.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_CLOSE, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	close_button.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_SEND, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	SendButton.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_NEW_DS, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_new_ds.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_NU_DS_DESCR, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_new_ds_desrc.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_NEW_DS_NAME, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_new_ds_name.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_NEW_DS_DESCR, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_new_ds_descr.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_ASYNC_MSG_ATTRIB, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_async_msg_attribs.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_DEFAULT_DS, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_default_text.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_INPUT_MODE, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_input_mode_text.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_NU_DS, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	NewDataSetButton.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_DESCRIPTION_DATA_VAL, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_sel_ds_descr.SetWindowText(stringID_to_string);
        LoadString(library_identifier,IDS_STRING_DLG_ADD_EDIT, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_DS_DETAILS, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_ds_details_box.SetWindowText(stringID_to_string);
	
}


void CAddEditDialog::SetLibraryIdentifier(HINSTANCE lib_id)
{
	library_identifier = lib_id;
}
void CAddEditDialog::InitialiseControls()
{
    int index = 1;
	CString window_text;
	datawindow.SetEditableColumns(index);
    CMap<int,int,CString,CString&>* pList = new CMap<int,int,CString,CString&>();
	LoadString(library_identifier,IDS_STRING_DATA_TYPE, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	datawindow.InsertColumn(0,stringID_to_string,NON_EDITABLE,NULL,MAX_STR_RES_LEN,LVCFMT_LEFT,70,0);
	LoadString(library_identifier,IDS_STRING_VAR_NAME, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
    datawindow.InsertColumn(1,stringID_to_string,NON_EDITABLE,NULL,MAX_STR_RES_LEN,LVCFMT_LEFT,70,0);

	LoadString(library_identifier,IDS_STRING_DESCRIPTION_DATA_VAL, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
    datawindow.InsertColumn(2,stringID_to_string,NON_EDITABLE,NULL,MAX_STR_RES_LEN,LVCFMT_LEFT,70,0);
	LoadString(library_identifier,IDS_STRING_VALUE, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
    datawindow.InsertColumn(3,stringID_to_string,EDITABLE,pList,MAX_STR_RES_LEN,LVCFMT_LEFT,70,0);

	
	datawindow.SetColumnWidth(0,100);
    datawindow.SetColumnWidth(1,100);
    datawindow.SetColumnWidth(2,300);
	datawindow.SetColumnWidth(3,150);
	NewDataSetButton.EnableWindow(0);
	edit_sel_ds_descr.EnableWindow(0);
	//Initialisation of buttons
	SaveButton.EnableWindow(0);
	SaveSendButton.EnableWindow(0);
	SendButton.EnableWindow(0);
	//initialise input mode combo box....
	LoadString(library_identifier,IDS_CMB_STRING_DS_INPUT_MODE, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	InputModeCombo.AddString(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_DIALOG_INPUT_MODE, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	InputModeCombo.AddString(stringID_to_string);
	//initialise frequency and timer combo....
	for(index =0; index<=MAXFREQ;index++)
	{
		DataSetTimerCombo.AddString(CString(itoa(index,buffer_for_str,10)));
		if(index !=0)
		DataSetFreqCombo.AddString(CString(itoa(index,buffer_for_str,10)));
	}
	//Initialisation of AppId Combobox
	UINT32 app_id;
	CPtrList *ptr_to_app_lst;
	CApplication * ptr_to_app;
	ptr_to_app_lst = cmessagemanager.m_pAppList;
	if(ptr_to_app_lst)
	{
	if(ptr_to_app_lst->GetCount())
	{
		for(POSITION pos =  ptr_to_app_lst->GetHeadPosition();pos!= NULL;)
		{
     		ptr_to_app = (CApplication *) (ptr_to_app_lst->GetNext (pos));
			app_id = ptr_to_app->GetAppId();
			BOOL appid_validity_flag = 0 ;
			/*Only those appids will be displayed which have atleast one message under them*/
			if(cmessagemanager.m_plstOutGoingMsg && cmessagemanager.m_plstOutGoingMsg->GetCount())
			{
				for(POSITION pos = cmessagemanager.m_plstOutGoingMsg->GetHeadPosition();pos!=NULL;)
				{
					COutgoingMessage * out_msg = (COutgoingMessage *)cmessagemanager.m_plstOutGoingMsg->GetNext(pos); 
					if(out_msg->GetAppId() == app_id)
					{
						appid_validity_flag =1;
						break;
					}

				}
			}
			if(appid_validity_flag)
			AppIdCombo.AddString(CString (itoa(app_id,buffer_for_str,10))+":"+(ptr_to_app->GetApplicationName()));
		}
    AppIdCombo.SetCurSel(0);
	AppIdCombo.GetWindowText(window_text);
	GetMessagesForApp(window_text); 
	MsgIdCombo.SetCurSel(0);
	MsgIdCombo.GetWindowText(window_text);
	GetDataSetsForMsg(window_text);
		}
	}

	SetTheHasBeenEditedFlag(0);
	set_msg_attrib_flag = 0;
	combo_refresh_flag = 0;
	msg_combo_refresh_flag = 0;
}



BEGIN_MESSAGE_MAP(CAddEditDialog, CDialog)
	ON_WM_WINDOWPOSCHANGING()
	ON_CBN_SELENDOK(IDC_APPCOMBO_PAN, OnCbnSelendokAppcomboPan)
	ON_CBN_SELENDOK(IDC_MSGCOMBO_PAN, OnCbnSelendokMsgcomboPan)
	ON_CBN_SELENDOK(IDC_DSCOMBO_PAN, OnCbnSelendokDscomboPan)
	ON_BN_CLICKED(IDC_NEWDATASETBUTTON_PAN, OnBnClickedNewDataSetButton)
	ON_NOTIFY(LVN_ENDLABELEDIT,IDC_DATAWINDOW_PAN,notice)
	//ON_BN_CLICKED(IDC_CHGATTRB_PAN, OnBnClickedChgAttrib)
	ON_BN_CLICKED(IDC_SEARCHBUTTON_PAN, OnBnClickedSearchbuttonPan)
	ON_BN_CLICKED(IDC_BUTTON_CANCEL_PAN, OnBnClickedButtonCancelPan)
	ON_CBN_DROPDOWN(IDC_DSCOMBO_PAN, OnCbnDropdownDscomboPan)
	ON_MESSAGE(WM_SETTINGFOCUS,FocusSettingRoutine)
	ON_CBN_DROPDOWN(IDC_MSGCOMBO_PAN, OnCbnDropdownMsgcomboPan)
	ON_BN_CLICKED(IDC_BUTTON_SAVE_PAN, OnBnClickedButtonSavePan)
	ON_CBN_DROPDOWN(IDC_APPCOMBO_PAN, OnCbnDropdownAppcomboPan)
	ON_BN_CLICKED(IDC_BUTTON_SAVESEND_DATASET, OnBnClickedButtonSavesendDataset)
	ON_BN_CLICKED(IDC_BUTTON_SEND_DATASET, OnBnClickedButtonSendDataset)
	ON_CBN_SELCHANGE(IDC_FREQCOMBO_PAN, OnCbnSelchangeFreqcomboPan)
	ON_CBN_SELCHANGE(IDC_TIMECOMBO, OnCbnSelchangeTimecombo)
	ON_MESSAGE(WM_SET_VALUES_IN_DIALOG,SetValuesInDialog)
	ON_WM_CLOSE()
	ON_CBN_SELENDOK(IDC_DEFCOMBO_PAN, OnCbnSelendokDefcomboPan)
	ON_CBN_SELENDOK(IDC_COMBO_INPUT_MODE, OnCbnSelendokComboInputMode)
	ON_CBN_SELENDCANCEL(IDC_APPCOMBO_PAN, OnCbnSelendcancelAppcomboPan)
	ON_CBN_SELENDCANCEL(IDC_MSGCOMBO_PAN, OnCbnSelendcancelMsgcomboPan)
	ON_CBN_SELCHANGE(IDC_APPCOMBO_PAN, OnCbnSelchangeAppcomboPan)
	ON_CBN_SELCHANGE(IDC_MSGCOMBO_PAN, OnCbnSelchangeMsgcomboPan)
END_MESSAGE_MAP()


// CAddEditDialog message handlers


void CAddEditDialog::OnClose()
{
	OnBnClickedButtonCancelPan();
}

void CAddEditDialog::OnOK()
{
	CDialog::OnOK();
}
void CAddEditDialog::notice(NMHDR* pNMHDR, LRESULT* pResult)
{
	LV_DISPINFO  *plvDispInfo = (LV_DISPINFO *)pNMHDR;
 	LV_ITEM		 *plvItem = &plvDispInfo->item;
	unsigned long number;
	int returncode;
	if(datawindow.GetItemCount() == 0)
		return;
	if(plvItem->pszText!=NULL)
	{
		CString datatype = datawindow.GetItemText(plvItem->iItem,0);
		if(!(datatype.CompareNoCase(_T("char"))))
		{
		    int	text_length = CString(plvItem->pszText).GetLength();
			if((text_length == 1) &&((CString(plvItem->pszText).GetAt(0)>= 'a') &&(CString(plvItem->pszText).GetAt(0)<= 'z') ))
			{
				datawindow.SetItemText(plvItem->iItem,plvItem->iSubItem,plvDispInfo->item.pszText);
				SetTheHasBeenEditedFlag(1);
			}
			else
		{
			 returncode = ConvertToNumber((PU16)plvItem->pszText,&number);
			 if(returncode == -1)
				{
			if(number <= 255 )
			{
		         datawindow.SetItemText(plvItem->iItem,plvItem->iSubItem,plvDispInfo->item.pszText);
				 SetTheHasBeenEditedFlag(1);
			}
			else
				AfxMessageBox(IDS_STRING_RNG_INDICATION);
		}
			}
		}
		else if(!(datatype.CompareNoCase(_T("int"))))
		{
			 returncode= ConvertToNumber((PU16)plvItem->pszText, &number);
			 if(returncode == -1)
			 {
			if(number<= 2147483648 ) 
			{
				datawindow.SetItemText(plvItem->iItem,plvItem->iSubItem,plvDispInfo->item.pszText);
				SetTheHasBeenEditedFlag(1);
			}
			 else
				AfxMessageBox(IDS_STRING_RNG_INDICATION);
		}
		}
		else if(!(datatype.CompareNoCase(_T("short"))))
		{
			returncode = ConvertToNumber((PU16)plvItem->pszText, &number);
			 if(returncode == -1)
			{
			if(number<= ((2*SHRT_MAX)+1) ) 
			{
				datawindow.SetItemText(plvItem->iItem,plvItem->iSubItem,plvDispInfo->item.pszText);
				SetTheHasBeenEditedFlag(1);
			}
			 else
				AfxMessageBox(IDS_STRING_RNG_INDICATION);
		}
		}
		else
		{
			 datawindow.SetItemText(plvItem->iItem,plvItem->iSubItem,plvDispInfo->item.pszText);
			 SetTheHasBeenEditedFlag(1);
		}
	}
	//return 1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -