📄 filemanage.cpp
字号:
UpdateWindow();
if(HFile==-1)return ;
while(i==0)
{
if(lstrcmp(c_file.name, ".")!=0 && lstrcmp(c_file.name, "..")!=0 )
{
TVInsterStruct.hParent = HRoot;
TVInsterStruct.hInsertAfter = TVI_SORT;
memset(&TVItem, 0x00, sizeof(TV_ITEM));
TVItem.mask = TVIF_TEXT|TVIF_PARAM|TVIF_CHILDREN;
TVItem.pszText = c_file.name;
TVItem.cchTextMax = lstrlen(c_file.name);
TVItem.cChildren = 0;
TVItem.lParam = 1L;
TVInsterStruct.item = TVItem;
((CTreeCtrl *)GetDlgItem(IDC_FILETREE))->InsertItem(&TVInsterStruct);
}
i = _findnext( HFile, &c_file ) ;
}
((CTreeCtrl *)GetDlgItem(IDC_FILETREE))->Expand(HRoot, TVE_EXPAND);
*pResult = 0;
}
void CFileManage::OnDblclkStationtree(NMHDR* pNMHDR, LRESULT* pResult)
{
int i=0, j=0;
long HFile;
struct _finddata_t c_file;
HTREEITEM SelectedItem;
HTREEITEM HRoot;
TV_INSERTSTRUCT TVInsterStruct;
TV_ITEM TVItem;
SelectedItem = ((CTreeCtrl *)GetDlgItem(IDC_STATIONTREE))->GetSelectedItem();
if(((CTreeCtrl *)GetDlgItem(IDC_STATIONTREE))->ItemHasChildren( SelectedItem ))
{*pResult = 0; return; }
m_StationName = ((CTreeCtrl *)GetDlgItem(IDC_STATIONTREE))->GetItemText(SelectedItem);
NowDirectory = m_Directory + m_CityName + "\\" + m_StationName + "\\*.*";
HFile = _findfirst( NowDirectory, &c_file ) ;
HRoot = ((CTreeCtrl *)GetDlgItem(IDC_RECORDTREE))->GetRootItem();
((CTreeCtrl *)GetDlgItem(IDC_RECORDTREE))->Expand(HRoot,TVE_COLLAPSE);
((CTreeCtrl *)GetDlgItem(IDC_RECORDTREE))->DeleteAllItems();
HRoot = ((CTreeCtrl *)GetDlgItem(IDC_FILETREE))->GetRootItem();
((CTreeCtrl *)GetDlgItem(IDC_FILETREE))->Expand(HRoot,TVE_COLLAPSE);
((CTreeCtrl *)GetDlgItem(IDC_FILETREE))->DeleteAllItems();
((CButton *)GetDlgItem(IDOK))->EnableWindow(FALSE);
((CButton *)GetDlgItem(IDC_COMM))->EnableWindow(FALSE);
((CButton *)GetDlgItem(IDC_SHOW))->EnableWindow(FALSE);
memset(&TVItem, 0x00, sizeof(TV_ITEM));
TVItem.mask = TVIF_TEXT|TVIF_PARAM|TVIF_CHILDREN;
TVItem.pszText = m_StationName.GetBuffer(lstrlen(m_StationName));
TVItem.cchTextMax = lstrlen(m_StationName);
TVItem.cChildren = 1;
TVItem.lParam = 1L;
TVInsterStruct.hParent = TVI_ROOT;
TVInsterStruct.hInsertAfter = TVI_FIRST;
TVInsterStruct.item = TVItem;
HRoot = ((CTreeCtrl *)GetDlgItem(IDC_RECORDTREE))->InsertItem(&TVInsterStruct);
m_StationName.ReleaseBuffer();
InvalidateRect(&m_SelectRect);
UpdateWindow();
CRecorder MyRecorder;
RECORD Record, *pTemp;
if(HFile==-1)return ;
j=0;
while(i==0)
{
if(lstrcmp(c_file.name, ".")!=0 && lstrcmp(c_file.name, "..")!=0 && c_file.attrib == _A_SUBDIR)
{
pTemp = MyRecorder.SearchARecord(_T(c_file.name), &Record);
if(pTemp == NULL)
{
i = _findnext( HFile, &c_file );
continue;
}
TVInsterStruct.hParent = HRoot;
TVInsterStruct.hInsertAfter = TVI_SORT;
memset(&TVItem, 0x00, sizeof(TV_ITEM));
TVItem.mask = TVIF_TEXT|TVIF_PARAM|TVIF_CHILDREN;
TVItem.pszText = c_file.name;
TVItem.cchTextMax = lstrlen(c_file.name);
TVItem.cChildren = 0;
TVItem.lParam = 1L;
TVInsterStruct.item = TVItem;
((CTreeCtrl *)GetDlgItem(IDC_RECORDTREE))->InsertItem(&TVInsterStruct);
j++;
///if(j + 4 -7 >=0)break;
}
i = _findnext( HFile, &c_file ) ;
}
((CTreeCtrl *)GetDlgItem(IDC_RECORDTREE))->Expand(HRoot, TVE_EXPAND);
*pResult = 0;
}
void CFileManage::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
dc.SetBkMode(TRANSPARENT);
dc.TextOut(m_SelectRect.left+5, m_SelectRect.top+20, NowDirectory);
// Do not call CDialog::OnPaint() for painting messages
}
void CFileManage::OnOK()
{
// TODO: Add extra validation here
m_wReturn = 2;
CDialog::OnOK();
}
void CFileManage::OnSelchangedFiletree(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
//文件树上单击
HTREEITEM SelectedItem;
((CButton *)GetDlgItem(IDOK))->EnableWindow(FALSE);
((CButton *)GetDlgItem(IDC_COMM))->EnableWindow(FALSE);
((CButton *)GetDlgItem(IDC_SHOW))->EnableWindow(FALSE);
SelectedItem = ((CTreeCtrl *)GetDlgItem(IDC_FILETREE))->GetSelectedItem();
if(((CTreeCtrl *)GetDlgItem(IDC_FILETREE))->ItemHasChildren( SelectedItem ))
{*pResult = 0; return; }
((CButton *)GetDlgItem(IDOK))->EnableWindow(TRUE);
((CButton *)GetDlgItem(IDC_SHOW))->EnableWindow(TRUE);
m_FileName = ((CTreeCtrl *)GetDlgItem(IDC_FILETREE))->GetItemText(SelectedItem);
NowDirectory = m_Directory + m_CityName + "\\" + m_StationName + "\\" + m_strRecordID + "\\"+ m_FileName;
InvalidateRect(&m_SelectRect);
UpdateWindow();
*pResult = 0;
}
/*
CString ATDT = _T("ATDT");
CString DialNumber;
CWgl_32Doc * pDoc = GetDocument();
m_strRecordID = pDoc->m_strRecordID;
RECORD Record, *TempRecord;
CRecorder MyRecorder;
TempRecord = MyRecorder.SearchARecord(m_strRecordID, &Record);
if(TempRecord == NULL)
{
AfxMessageBox(_T("找不到录波器:") + m_strRecordID);
return;
}
DialNumber = ATDT + Record.TeleNumber + _T("\r");
BYTE *pTemp = (BYTE *)(DialNumber.GetBuffer(40));
MyTTY.CreateTTYInfo();
if(MyTTY.OpenConnection() == FALSE)return;
WriteCommBlock( MyTTY.npTTYInfo, pTemp , DialNumber.GetLength());
DialNumber.ReleaseBuffer();
MyTTY.npTTYInfo->TailPtr=0;
MyTTY.npTTYInfo->HeadPtr=0;
MMyDialing.m_strPhoneNumber = Record.TeleNumber;
int i = MMyDialing.DoModal();
if(i == IDCANCEL)
{
MyTTY.CloseConnection();
return;
}
CONNECTEDTO(MyTTY.npTTYInfo) = TRUE;
MyTrans.m_strDataPath = _T(Record.DataPath);
MyTrans.m_strRecordPath = pDoc->m_strRecordPath;
MyTrans.Create(IDD_DIALOG_SEND);
MyTrans.WyyReceList();
*/
void CFileManage::OnComm()
{
CString ATDT = _T("ATDT");
CString DialNumber;
if(ReadDog() == FALSE)return;
RECORD Record, *TempRecord;
CRecorder MyRecorder;
TempRecord = MyRecorder.SearchARecord(m_strRecordID, &Record);
if(TempRecord == NULL)
{
AfxMessageBox(_T("找不到录波器:") + m_strRecordID);
return;
}
DialNumber = ATDT + Record.TeleNumber + _T("\r");
lstrcpy(MyTrans.PhoneNumber, DialNumber);
BYTE *pTemp = (BYTE *)(DialNumber.GetBuffer(40));
MyTTY.CreateTTYInfo();
if(MyTTY.OpenConnection() == FALSE)return;
BYTE Initstr1[] = "AT&W1Z\r";
BYTE Initstr2[256];
BYTE Initstr3[] = "AT&W0\r";
long ModemSpeed;
switch(MyTTY.SelectedBaudRate)
{
case 115200L:
ModemSpeed = 33600L;
break;
case 57600L:
ModemSpeed = 33600L;
break;
case 38400L:
ModemSpeed = 28800L;
break;
case 19200L:
ModemSpeed = 14400L;
break;
default:
if(MyTTY.SelectedBaudRate <= 9600) ModemSpeed = MyTTY.SelectedBaudRate;
else ModemSpeed = 33600L;
break;
}
sprintf((char *)Initstr2, "ATS0=1E0&E2&E4&Q1V0$SB%ld$MB%ld\r", MyTTY.SelectedBaudRate, ModemSpeed);
WriteCommBlock( MyTTY.npTTYInfo, Initstr1 , lstrlen((char *)Initstr1));
Sleep(500);
WriteCommBlock( MyTTY.npTTYInfo, Initstr2 , lstrlen((char *)Initstr2));
Sleep(500);
WriteCommBlock( MyTTY.npTTYInfo, Initstr3 , lstrlen((char *)Initstr3));
Sleep(5000);
WriteCommBlock( MyTTY.npTTYInfo, pTemp , DialNumber.GetLength());
DialNumber.ReleaseBuffer();
MyTTY.npTTYInfo->TailPtr=0;
MyTTY.npTTYInfo->HeadPtr=0;
MMyDialing.m_strPhoneNumber = Record.TeleNumber;
int i = MMyDialing.DoModal();
if(i == IDCANCEL)
{
MyTTY.CloseConnection();
return;
}
CONNECTEDTO(MyTTY.npTTYInfo) = TRUE;
MyTrans.m_strDataPath = _T(Record.DataPath);
MyTrans.m_strRecordPath = m_Directory + m_CityName + "\\" + m_StationName + "\\" + m_strRecordID + "\\";
MyTrans.Create(IDD_DIALOG_SEND);
// MyTrans.WyyReceList();
CFileManage::OnCancel();
}
void CFileManage::OnShow()
{
// TODO: Add your control notification handler code here
m_wReturn = 1;
CDialog::OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -