文字输入 任务栏 最前

今天学习的总结。

文字输入:

增加一个private的变量m_str在VIEW类里面,然后增加WM_CHAR消息。

m_str+=(char)nChar;

invalidate(); //掉用OnDarw

在OnDarw里面。

pDC->Textout(20,20,m_str);

任务栏:

在OnCreate中增加代码。

NOTIFYICONDATA tnd;

tnd.cdSize=sizeof(NOTIFYICONDATA);

tnd.hWnd=this->m_hWnd;

tnd.uID=IDR_MAINFRAME;

tnd.uFlage=NIF_MESSAGE|NIR_ICON|NIF_TIP;

tnd.uCallbackMessage=WM_LINBEN;

tnd.hIcon=LoadIcon(AfxGetInstanceHandle());

MAKEINTRESOURCE(IDR_MAINFRAME);

strcpy(tnd.szTip,"名字");

Shell_NotifyIcon(NIM_ADD,&tnd);

然后在resource.h 定义消息

#define WM_LIBEN     WM_USER+1

再该窗口的头文件中声明消息映射函数的原型

afx_msg void OnLiben(WPARAM wParam,LPARAM lParam);

并在CPP文件中的消息映射中加入

ON_MESSAGE(WM_LIBEN,OnLiben)

在hWnd窗口中响应自定义函数

UINT uID;

UINT uMouseMsg;

POINT pt;

uID=(UINT)wParam;

uMouseMsg=(UINT)lParam;

if(uMouseMsg==WM_RBUTTONDOWN)

 {

   switch(nID)

    {

     case IDR_MAINFRAME:

    GetCursorPos(&pt);

     CMenu *m_pMenu;
     CMenu menu;
     menu.LoadMenu(IDR_MENU1);
     m_pMenu=menu.GetSubMenu(0);
     m_pMenu->TrackPopupMenu(TPM_CENTERALIGN + TPM_LEFTBUTTON,pt.x-30,pt.y+5,this,NULL);
可以自己为IDR_MENU1加下拉菜单写功能;

    }

return;

 } 

然后增加删除图标的。在mainframe里面增加函数OnAppExit()

CMainFrame::OnAppExit()
{
 NOTIFYICONDATA tnid;
 tnid.cbSize=sizeof(NOTIFYICONDATA);
 tnid.hWnd=this->m_hWnd;
 tnid.uID=IDR_MAINFRAME;
 Shell_NotifyIcon(NIM_DELETE,&tnid);
 AfxPostQuitMessage(0);

}

记得为MAINFRAME加WM_DESTROY并在下面调用

OnAppExit();

这样点关闭的时候也将任务栏上面图标删了

最前:

我增加了两个菜单并写最前和恢复

void CMainFrame::OnMenuitmeTopmost()
{
  //最前
 ::SetWindowPos(AfxGetMainWnd()->m_hWnd,HWND_TOPMOST,-1,-1,-1,-1,SWP_NOMOVE|SWP_NOSIZE);
}

void CMainFrame::OnMenuitemRecover()
{

//恢复
 ::SetWindowPos(AfxGetMainWnd()->m_hWnd,HWND_NOTOPMOST,-1,-1,-1,-1,SWP_NOMOVE|SWP_NOSIZE);
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值