右键菜单

.h:

afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
afx_msg void OnCopy();
afx_msg void OnCopy1();

映射:

ON_WM_CONTEXTMENU()
ON_COMMAND(ID_32771, OnCopy)
ON_COMMAND(ID__32772, OnCopy1)

.cpp:

void COfficeOperationDemoDlg::OnContextMenu(CWnd* pWnd, CPoint point) 

{
// TODO: Add your message handler code here
CMenu popMenu;
popMenu.LoadMenu(IDR_MENU1); //载入菜单
CMenu *pPopup;
pPopup=popMenu.GetSubMenu(0); //获得子菜单指针


pPopup->EnableMenuItem(ID_32771,MF_BYCOMMAND|MF_ENABLED); //允许菜单项使用
pPopup->EnableMenuItem(ID__32772,MF_BYCOMMAND|MF_ENABLED); //允许菜单项使用
//pPopup->EnableMenuItem(ID__32772,MF_BYCOMMAND|MF_DISABLED|MF_GRAYED); //不允许菜单项使用


//ClientToScreen(&point); //将客户区坐标转换成屏幕坐标
pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this); //显示弹出菜单,参数依次为(鼠标在菜单左边|跟踪右键,x,y,this)
pPopup->Detach();
popMenu.DestroyMenu();
}
void COfficeOperationDemoDlg::OnCopy()
{
  // AfxMessageBox("1234");
  DoGdiplusFuns(m_index1,m_index2);
}


void COfficeOperationDemoDlg::OnCopy1()
{
AfxMessageBox("4321");

}


//剪切板

#include "stdafx.h"
#include "stdio.h"
#include "iostream"
#include "windows.h"
#include <string>


using namespace std;


void TestGetClipBoard(TCHAR *str)


{
HWND hWnd;


hWnd = GetConsoleWindow();
//判断剪贴板的数据格式是否可以处理。


if (!IsClipboardFormatAvailable(CF_TEXT))


{
return;
}   
//打开剪贴板。


if (!OpenClipboard(hWnd))
{
return;
}   
//获取UNICODE的数据。


HGLOBAL hMem = GetClipboardData(CF_TEXT);


if (hMem != NULL)


{
//获取UNICODE的字符串。
LPTSTR lpStr = (LPTSTR)GlobalLock(hMem);
//if (lpStr != NULL)
//{
//显示输出。
//OutputDebugString(lpStr);
////释放锁内存。

//GlobalUnlock(hMem);
//}
lstrcpy(str,lpStr);
}

//关闭剪贴板。
CloseClipboard();


}


int _tmain(int argc, _TCHAR* argv[])
{
TCHAR str[2526];
string str1;
int m=0;
int n=0;
TestGetClipBoard(str);
string strs = str;
while(strs.length()!=0){
m = strs.find_first_of("\t",0);
n = strs.find_first_of("\r\n",0);
if (n>m&&m!=-1)
{
str1 = strs.substr(0,m);
strs = strs.substr(m+1,strs.length());

else
{
str1 = strs.substr(0,n);
strs = strs.substr(n+2,strs.length());
}
}
cout<<str<<endl;
system("pause");
return 0;
}

你可能感兴趣的:(右键菜单)