📄 mainwnd.cpp
字号:
return 0;
}
LRESULT CMainWnd::OnExit(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
{
CEdit edit;
CRect rcEdit(0,-20,80,0);
edit.Create(m_hWnd,rcEdit,L"",WS_CHILD | WS_VISIBLE | ES_AUTOHSCROLL,0,IDC_EDITFIND,0);
m_FindEdit.SubclassWindow(edit);
m_FindEdit.SetFocus();
m_FindEdit.m_hWndListCtrl = m_list.m_hWnd;
// m_list.m_pEditFind = &m_FindEdit;
LOGFONT lf;
memset(&lf,0,sizeof(LOGFONT));
lf.lfHeight = 16;
lf.lfWeight = FW_BOLD;
m_ftEdit.CreateFontIndirect(&lf);
m_FindEdit.SetFont(m_ftEdit);
m_FindEdit.SetFocus();
m_FindEdit.EnableInput(TRUE);
PostQuitMessage(0) ;
return 0;
}
LRESULT CMainWnd::OnExecute(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
CString str;
str.Format(_T("Item number %d (zero-based index)"), wParam);
MessageBox(str, _T("OnExecute"), MB_ICONINFORMATION | MB_OK);
return 0;
}
LRESULT CMainWnd::OnKeyUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if (bCloseFlag)
{
if(wParam == VK_TBACK)
{
if (m_layer>0)
{
switch(m_layer)
{
case 1:
m_layer--;
m_list.DeleteAllItems();
m_list.LoadNameList(m_layer,m_index);
m_list.ScrollToIndex(m_index);
break;
case 2:
m_layer--;
m_list.DeleteAllItems();
switch(m_index)
{
case 0:
m_list.LoadNameList(m_layer,0);
m_list.ScrollToIndex(m_index1);
break;
case 1:
m_list.LoadNameList(m_layer,1);
m_list.ScrollToIndex(m_index0);
break;
case 3:
m_list.LoadNameList(m_layer,3);
m_list.ScrollToIndex(m_index2);
break;
default:
m_list.LoadNameList(m_layer,m_index);
m_list.ScrollToIndex(m_index3);
break;
}
break;
case 3:
m_layer--;
m_list.DeleteAllItems();
if(m_index==0)
{
if(m_index1<6){
m_list.LoadNameList(m_layer,m_index1);
m_list.ScrollToIndex(m_index4);
}
}else if(m_index==1)
{
if(m_index0==5){
m_list.LoadNameList(m_layer,m_index0);
m_list.ScrollToIndex(m_index5);
}
}
break;
}
bCloseFlag = FALSE;
}
}else
return 0;//::DefWindowProc(m_hWnd,uMsg,wParam,lParam);
}else
bCloseFlag = TRUE;
return 0;
}
LRESULT CMainWnd::OnHotKey(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if (bCloseFlag)
{
if(VK_ESCAPE == HIWORD(lParam))
{
if (m_layer>0)
{
switch(m_layer)
{
case 1:
m_layer--;
m_list.DeleteAllItems();
m_list.LoadNameList(m_layer,m_index);
m_list.ScrollToIndex(m_index);
break;
case 2:
m_layer--;
m_list.DeleteAllItems();
switch(m_index)
{
case 0:
m_list.LoadNameList(m_layer,0);
m_list.ScrollToIndex(m_index1);
break;
case 1:
m_list.LoadNameList(m_layer,1);
m_list.ScrollToIndex(m_index0);
break;
case 3:
m_list.LoadNameList(m_layer,3);
m_list.ScrollToIndex(m_index2);
break;
default:
m_list.LoadNameList(m_layer,m_index);
m_list.ScrollToIndex(m_index3);
break;
}
break;
case 3:
m_layer--;
m_list.DeleteAllItems();
if(m_index==0)
{
if(m_index1<6){
m_list.LoadNameList(m_layer,m_index1);
m_list.ScrollToIndex(m_index4);
}
}else if(m_index==1)
{
if(m_index0==5){
m_list.LoadNameList(m_layer,m_index0);
m_list.ScrollToIndex(m_index5);
}
}
break;
}
bCloseFlag = FALSE;
}
}else
return 0;//::DefWindowProc(m_hWnd,uMsg,wParam,lParam);
}else
bCloseFlag = TRUE;
return 0;
}
DWORD CMainWnd::GetTSPLineDeviceID(const HLINEAPP hLineApp, const DWORD dwNumberDevices, const DWORD dwAPIVersionLow, const DWORD dwAPIVersionHigh, const TCHAR *const psTSPLineName)
{
DWORD dwReturn = 0xffffffff;
for(DWORD dwCurrentDevID = 0 ; dwCurrentDevID < dwNumberDevices ; dwCurrentDevID++)
{
DWORD dwAPIVersion;
LINEEXTENSIONID LineExtensionID;
if(0 == lineNegotiateAPIVersion(hLineApp, dwCurrentDevID,
dwAPIVersionLow, dwAPIVersionHigh,
&dwAPIVersion, &LineExtensionID))
{
LINEDEVCAPS LineDevCaps;
LineDevCaps.dwTotalSize = sizeof(LineDevCaps);
if(0 == lineGetDevCaps(hLineApp, dwCurrentDevID,
dwAPIVersion, 0, &LineDevCaps))
{
BYTE* pLineDevCapsBytes = new BYTE[LineDevCaps.dwNeededSize];
if(0 != pLineDevCapsBytes)
{
LINEDEVCAPS* pLineDevCaps = (LINEDEVCAPS*)pLineDevCapsBytes;
pLineDevCaps->dwTotalSize = LineDevCaps.dwNeededSize;
if(0 == lineGetDevCaps(hLineApp, dwCurrentDevID,
dwAPIVersion, 0, pLineDevCaps))
{
if(0 == _tcscmp((TCHAR*)((BYTE*)pLineDevCaps+pLineDevCaps->dwLineNameOffset),
psTSPLineName))
{
dwReturn = dwCurrentDevID;
}
}
delete[] pLineDevCapsBytes;
}
}
}
}
return dwReturn;
}
BOOL CMainWnd::GetText()
{
HRSRC hRes;
HGLOBAL hGlobal;
LPSTR lpRes;
m_dwResSize = 0;
m_dwIndex = 0;
hRes = FindResource(_Module.m_hInst,MAKEINTRESOURCE(IDR_TXT_CODE),L"TXT");
hGlobal = LoadResource(_Module.m_hInst,hRes);
lpRes = (LPSTR) LockResource(hGlobal);
m_dwResSize = SizeofResource(_Module.m_hInst,hRes);
char szLine[50];
TCHAR tszCode[50];
for( ;m_dwIndex < m_dwResSize; )
{
memset(szLine,0,sizeof(char)*50);
ReadLine(lpRes,szLine,50);
memset(tszCode,0,sizeof(TCHAR)*50);
MultiByteToWideChar(CP_ACP,0,szLine,-1,tszCode,100);
if(_tcslen(tszCode) == 0) break;
m_slCodeList.AddTail(tszCode);
}
UnlockResource(hGlobal);
FreeResource(hGlobal);
return TRUE;
}
int CMainWnd::ReadLine(LPSTR lpRes, char *sz, int size)
{
char szTemp[1];
int nRet=0;
int nIndex=0;
*szTemp = '\0';
*sz = '\0';
do{
nIndex++;
if (nIndex > size - 1) break;
*szTemp = *(lpRes+m_dwIndex);
m_dwIndex++;
//fread(szTemp,sizeof(char),1,f);
if(*szTemp == '\n') {
//*szTemp = *(lpRes+m_dwIndex);
//m_dwIndex++;
//fread(szTemp,sizeof(char),1,f);
//if(*szTemp == '\r')
//{
*sz='\0';
nRet=1;break;
//}
}
*sz=*szTemp;
sz++;
}while (m_dwIndex < m_dwResSize) ;
return nRet;
}
LRESULT CMainWnd::OnCtlColorEdit(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
HDC hdcEdit = (HDC) wParam;
HWND hwndEdit = (HWND) lParam;
SetBkMode(hdcEdit, TRANSPARENT );
return (DWORD) (HBRUSH) m_brEdit;
}
/*
BOOL CALLBACK EditDlgProc( HWND hDlg,UINT uMsg, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
CRect rect ;
PAINTSTRUCT ps ;
POSITION temppos ;
MSG* pmsg = (MSG*) lParam ;
TCHAR m_szMessage[100];
CString title;
switch( uMsg )
{
case WM_INITDIALOG :
SetWindowText(hDlg, g_szApplicationTitle);
SHINITDLGINFO shidi ;
ZeroMemory( &shidi , sizeof(shidi) ) ;
shidi.dwMask = SHIDIM_FLAGS ;
shidi.dwFlags = SHIDIF_SIZEDLGFULLSCREEN ;
shidi.hDlg = hDlg ;
// If we could not initialize the dialog box, return an error
if ( !( ::SHInitDialog(&shidi) ) ) // && ::SHCreateMenuBar(&mbi) ) )
{
EndDialog(hDlg, -1);
break ;
}
SetWindowText(title+L":");
::SendMessage(GetDlgItem(IDC_EDIT1),EM_SETINPUTMODE,0,EIM_NUMBERS);
::SetFocus(GetDlgItem(IDC_EDIT1));
break ;
case WM_ERASEBKGND :
return TRUE ;
break ;
case WM_GETDLGCODE :
if ( pmsg != NULL )
{
switch( pmsg->message)
{
case WM_KEYDOWN :
switch( (int)(MSG*) pmsg->wParam )
{
case VK_TACTION :
EndDialog( hDlg , TRUE ) ;
break ;
}
break ;
}
}
break ;
case WM_DESTROY:
EndDialog( hDlg , TRUE ) ;
break ;
case WM_PAINT:
hdc = BeginPaint( hDlg , &ps ) ;
EndPaint( hDlg , &ps ) ;
break ;
case WM_COMMAND :
switch ( wParam )
{
case IDM_OK : // "OK"
::GetWindowText(GetDlgItem(IDC_EDIT1),m_szMessage,100);
if( _tcslen(m_szMessage)==0)
{
MessageBox(L"you edit Nothing ",L"",MB_OK | MB_ICONWARNING);
return 0;
}
EndDialog( hDlg , TRUE ) ;
break;
}
break ;
}
return FALSE ;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -