VC使用技巧

来源:互联网 发布:htc re 软件 编辑:程序博客网 时间:2024/05/19 12:15

(1)VC中消息的的影射的实现:
BEGIN_MESSAGE_MAP(CStuDlg, CDialog)
//{{AFX_MSG_MAP(CStuDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_COMMAND(IDC_ADD,AddData)
ON_NOTIFY(NM_RCLICK, IDC_LIST1, OnRclickList1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
(2)菜单的弹出实现:
      CMenu pmenu;
if (pmenu.LoadMenu(IDR_MENU1))       
{
CMenu* pPopup = pmenu.GetSubMenu(0);
ASSERT(pPopup != NULL);
CPoint oPoint;
// 确定鼠标位置以便在该位置附近显示菜单
GetCursorPos( &oPoint );
SetForegroundWindow();
pPopup->TrackPopupMenu(
TPM_LEFTALIGN | TPM_RIGHTBUTTON,
oPoint.x, oPoint.y, this);
}
(3)《热键》ON_MESSAGE(WM_HOTKEY,OnHotkey);
RegisterHotKey(m_hWnd,1688,MOD_CONTROL|MOD_SHIFT,'C');//1688任选,但有范围

LRESULT OnHotKey(WPARAM wParam,LPARAM lParam);
最后还要
UnregisterHotKey(m_hWnd,1688);
GetCurrentTime()得到当前时间。
BOOL RegisterHotKey(
  HWND hWnd,        // 接收hotkey窗口
  int id,            // hotkey的id 范围是0x0000到0xBFFF
  UINT fsModifiers,  // 可以是MOD_ALT MOD_CTRL MOD_WIN
  UINT vk            // 虚拟键值,就是m_Wap,m_Dlg的值
);

if (message==WM_HOTKEY && wParam==1688){
    if(IsWindowVisible())
    OnBtnHide();
    else
    OnShowDlg();
    SetForegroundWindow();}

(4)把一组数组转化成长字符串

CString str, strTemp;
for(int i = 0; i < arr.size(); i++)
{
strTemp.format("%d", arr[i]);
str += strTemp;
}

原创粉丝点击