📄 addeditdialog.cpp
字号:
/*****************************************************************************
* 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 + -