?? mainwnd.cpp
字號:
SetTimer(m_hWnd,0,m_iTimerInterval,NULL);
}
}
}
// 選擇網(wǎng)格空間菜單
else if (iId == IDM_GRIDSPACING)
{
// 設(shè)置當(dāng)前的網(wǎng)格空間
pGridSpacing->m_nGridX = nGridX;
pGridSpacing->m_nGridY = nGridY;
pGridSpacing->m_fGridX = fGridX;
pGridSpacing->m_fGridY = fGridY;
if (DialogBox(m_hInst,MAKEINTRESOURCE(IDD_GRIDSPACING),m_hWnd,(DLGPROC)GridSpacingDlgProc))
{
BOOL fChange = FALSE;
if (nGridX != pGridSpacing->m_nGridX)
fChange = TRUE;
if (nGridY != pGridSpacing->m_nGridY)
fChange = TRUE;
// 得到網(wǎng)格空間值
nGridX = pGridSpacing->m_nGridX;
nGridY = pGridSpacing->m_nGridY;
fGridX = pGridSpacing->m_fGridX;
fGridY = pGridSpacing->m_fGridY;
if (fConnected && fChange)
{
KillTimer(m_hWnd,0);
SetGrids(m_hWnd);
UpdateRegionalScreen(m_hWnd,sClient,TRUE);
SetTimer(m_hWnd,0,m_iTimerInterval,NULL);
}
}
}
// 選擇顏色模式的菜單
else if (iId == IDM_COLORMODE)
{
// 設(shè)置當(dāng)前的壓縮級數(shù)和模式
pColorMode->m_bmBitsPixel = bmBitsPixel;
if (DialogBox(m_hInst,MAKEINTRESOURCE(IDD_COLORMODE),m_hWnd,(DLGPROC)ColorModeDlgProc))
{
bmBitsPixel = pColorMode->m_bmBitsPixel;
if (fConnected)
{
KillTimer(m_hWnd,0);
memset(szMouseMessage,'\0',sizeof(szMouseMessage));
sprintf(szMouseMessage,"WM_CMOD;%d;0;0;0;\0",bmBitsPixel);
SendCommand(hWnd,1,szMouseMessage);
SetGrids(m_hWnd);
UpdateRegionalScreen(m_hWnd,sClient,TRUE);
SetTimer(m_hWnd,0,m_iTimerInterval,NULL);
}
}
}
else if(iId==IDC_ABOUT)
{
MessageBox(hWnd,"2003-7-2創(chuàng)建\r\n一個遠(yuǎn)程控制的客戶端程序","遠(yuǎn)程控制客戶端",MB_OK);
}
}
// 處理WM_VSCROLL消息
void CMainWnd::OnVScroll(HWND hWnd,HWND hWndCtl,UINT iCode,int iPos)
{
if (fDIBitmap)
{
if (iCode == SB_LINEUP)
iVScrollPos = iVScrollPos + 1;
else if (iCode == SB_LINEDOWN)
iVScrollPos = iVScrollPos - 1;
else if (iCode == SB_PAGEUP)
iVScrollPos = iVScrollPos + 64;
else if (iCode == SB_PAGEDOWN)
iVScrollPos = iVScrollPos - 64;
else if (iCode == SB_THUMBTRACK)
iVScrollPos = -iPos;
else if (iCode == SB_THUMBPOSITION)
iVScrollPos = -iPos;
if (-iVScrollPos < 0)
iVScrollPos = 0;
if (-iVScrollPos > (iScreenHeight - m_Rect.bottom))
iVScrollPos = -(iScreenHeight - m_Rect.bottom);
SetScrollPos(hWnd,SB_VERT,-iVScrollPos,TRUE);
InvalidateRect(hWnd,NULL,FALSE);
}
}
//處理WM_HSCROLL消息
void CMainWnd::OnHScroll(HWND hWnd,HWND hWndCtl,UINT iCode,int iPos)
{
if (fDIBitmap)
{
if (iCode == SB_LINEUP)
iHScrollPos = iHScrollPos - 1;
else if (iCode == SB_LINEDOWN)
iHScrollPos = iHScrollPos + 1;
else if (iCode == SB_PAGEUP)
iHScrollPos = iHScrollPos - 48;
else if (iCode == SB_PAGEDOWN)
iHScrollPos = iHScrollPos + 48;
else if (iCode == SB_THUMBTRACK)
iHScrollPos = iPos;
else if (iCode == SB_THUMBPOSITION)
iHScrollPos = iPos;
if (iHScrollPos < 0)
iHScrollPos = 0;
if (iHScrollPos > (iScreenWidth - m_Rect.right))
iHScrollPos = iScreenWidth - m_Rect.right;
SetScrollPos(hWnd,SB_HORZ,iHScrollPos,TRUE);
InvalidateRect(hWnd,NULL,FALSE);
}
}
// 處理左鍵雙擊的消息
void CMainWnd::OnLButtonDblClk(HWND hWnd,BOOL fDoubleClick,int x,int y,UINT keyFlags)
{
if (fConnected)
{
x += iHScrollPos;
y += (-1 * iVScrollPos);
memset(szMouseMessage,'\0',sizeof(szMouseMessage));
sprintf(szMouseMessage,"WM_LBK;%d;%d;%d;0;\0",x,y,keyFlags);
SendCommand(m_hWnd,1,szMouseMessage);
}
}
// 處理左鍵按下的消息
void CMainWnd::OnLButtonDown(HWND hWnd,BOOL fDoubleClick,int x,int y,UINT keyFlags)
{
if (fConnected)
{
x += iHScrollPos;
y += (-1 * iVScrollPos);
memset(szMouseMessage,'\0',sizeof(szMouseMessage));
sprintf(szMouseMessage,"WM_LBD;%d;%d;%d;0;\0",x,y,keyFlags);
SendCommand(m_hWnd,1,szMouseMessage);
}
}
// 處理左鍵彈起的消息
void CMainWnd::OnLButtonUp(HWND hWnd,int x,int y,UINT keyFlags)
{
if (fConnected)
{
x += iHScrollPos;
y += (-1 * iVScrollPos);
memset(szMouseMessage,'\0',sizeof(szMouseMessage));
sprintf(szMouseMessage,"WM_LBU;%d;%d;%d;0;\0",x,y,keyFlags);
SendCommand(m_hWnd,1,szMouseMessage);
}
}
// 處理中鍵按下的消息
void CMainWnd::OnMButtonDblClk(HWND hWnd,BOOL fDoubleClick,int x,int y,UINT keyFlags)
{
if (fConnected)
{
x += iHScrollPos;
y += (-1 * iVScrollPos);
memset(szMouseMessage,'\0',sizeof(szMouseMessage));
sprintf(szMouseMessage,"WM_MBK;%d;%d;%d;0;\0",x,y,keyFlags);
SendCommand(m_hWnd,1,szMouseMessage);
}
}
// 處理中鍵按下的消息
void CMainWnd::OnMButtonDown(HWND hWnd,BOOL fDoubleClick,int x,int y,UINT keyFlags)
{
if (fConnected)
{
x += iHScrollPos;
y += (-1 * iVScrollPos);
memset(szMouseMessage,'\0',sizeof(szMouseMessage));
sprintf(szMouseMessage,"WM_MBD;%d;%d;%d;0;\0",x,y,keyFlags);
SendCommand(m_hWnd,1,szMouseMessage);
}
}
// 處理中鍵彈起的消息
void CMainWnd::OnMButtonUp(HWND hWnd,int x,int y,UINT keyFlags)
{
if (fConnected)
{
x += iHScrollPos;
y += (-1 * iVScrollPos);
memset(szMouseMessage,'\0',sizeof(szMouseMessage));
sprintf(szMouseMessage,"WM_MBU;%d;%d;%d;0;\0",x,y,keyFlags);
SendCommand(m_hWnd,1,szMouseMessage);
}
}
// 處理右鍵雙擊的消息
void CMainWnd::OnRButtonDblClk(HWND hWnd,BOOL fDoubleClick,int x,int y,UINT keyFlags)
{
if (fConnected)
{
x += iHScrollPos;
y += (-1 * iVScrollPos);
memset(szMouseMessage,'\0',sizeof(szMouseMessage));
sprintf(szMouseMessage,"WM_RBK;%d;%d;%d;0;\0",x,y,keyFlags);
SendCommand(m_hWnd,1,szMouseMessage);
}
}
// 處理右鍵按下的消息
void CMainWnd::OnRButtonDown(HWND hWnd,BOOL fDoubleClick,int x,int y,UINT keyFlags)
{
if (fConnected)
{
x += iHScrollPos;
y += (-1 * iVScrollPos);
memset(szMouseMessage,'\0',sizeof(szMouseMessage));
sprintf(szMouseMessage,"WM_RBD;%d;%d;%d;0;\0",x,y,keyFlags);
SendCommand(m_hWnd,1,szMouseMessage);
}
}
// 處理右鍵彈起的消息
void CMainWnd::OnRButtonUp(HWND hWnd,int x,int y,UINT keyFlags)
{
if (fConnected)
{
x += iHScrollPos;
y += (-1 * iVScrollPos);
memset(szMouseMessage,'\0',sizeof(szMouseMessage));
sprintf(szMouseMessage,"WM_RBU;%d;%d;%d;0;\0",x,y,keyFlags);
SendCommand(m_hWnd,1,szMouseMessage);
}
}
// 處理鼠標(biāo)移動的消息
void CMainWnd::OnMouseMove(HWND hWnd,int x,int y,UINT keyFlags)
{
if (fConnected)
{
x += iHScrollPos;
y += (-1 * iVScrollPos);
memset(szMouseMessage,'\0',sizeof(szMouseMessage));
sprintf(szMouseMessage,"WM_MM;%d;%d;%d;0;\0",x,y,keyFlags);
SendCommand(m_hWnd,1,szMouseMessage);
}
}
// 處理鍵按下的消息
void CMainWnd::OnKeyDown(HWND hWnd,UINT vk,BOOL fDown,int cRepeat,UINT flags)
{
if (fConnected)
{
memset(szMouseMessage,'\0',sizeof(szMouseMessage));
sprintf(szMouseMessage,"WM_KD;%d;%d;%d;%d;\0",vk,fDown,cRepeat,flags);
SendCommand(m_hWnd,1,szMouseMessage);
}
}
// 處理鍵彈起的消息
void CMainWnd::OnKeyUp(HWND hWnd,UINT vk,BOOL fDown,int cRepeat,UINT flags)
{
if (fConnected)
{
memset(szMouseMessage,'\0',sizeof(szMouseMessage));
sprintf(szMouseMessage,"WM_KU;%d;%d;%d;%d;\0",vk,fDown,cRepeat,flags);
SendCommand(m_hWnd,1,szMouseMessage);
}
}
// 得到新的屏幕
void CMainWnd::GetScreen()
{
SendCommand(m_hWnd,0,NULL);
}
//獲得本地計(jì)算機(jī)名稱
int CMainWnd::GetLocalHostName(char* sHostName)
{
char szHostName[256];
int nRetCode;
nRetCode=gethostname(szHostName,sizeof(szHostName));
if(nRetCode!=0)
{
//產(chǎn)生錯誤
strcpy(sHostName,"沒有取得");
return GetLastError();
}
strcpy(sHostName,szHostName);
return 0;
}
//獲得本地IP
int CMainWnd::GetIpAddress(char *sHostName, char *sIpAddress)
{
struct hostent FAR * lpHostEnt=gethostbyname(sHostName);
if(lpHostEnt==NULL)
{
//產(chǎn)生錯誤
sIpAddress=NULL;
return GetLastError();
}
//獲取IP
LPSTR lpAddr=lpHostEnt->h_addr_list[0];
if(lpAddr)
{
struct in_addr inAddr;
memmove(&inAddr,lpAddr,4);
//轉(zhuǎn)換為標(biāo)準(zhǔn)格式
strcpy(sIpAddress,inet_ntoa(inAddr));
}
return 0;
}
//獲得本地IP
int CMainWnd::GetIpAddress(char *sHostName, BYTE *f0,BYTE *f1,BYTE *f2,BYTE *f3)
{
struct hostent FAR * lpHostEnt=gethostbyname(sHostName);
if(lpHostEnt==NULL)
{
//產(chǎn)生錯誤
f0=f1=f2=f3=0;
return GetLastError();
}
//獲取IP
LPSTR lpAddr=lpHostEnt->h_addr_list[0];
if(lpAddr)
{
struct in_addr inAddr;
memmove(&inAddr,lpAddr,4);
*f0=inAddr.S_un.S_un_b.s_b1;
*f1=inAddr.S_un.S_un_b.s_b2;
*f2=inAddr.S_un.S_un_b.s_b3;
*f3=inAddr.S_un.S_un_b.s_b4;
}
return 0;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -