VC++托盘图标菜单弹出后,点击其它地方,菜单不消失的问题

遇到VC++托盘图标菜单弹出后,点击其它地方,菜单不消失的问题。

解决办法:在TrackPopupMenu函数前面添加SetForegroundWindow();即可解决.

示例代码:

POINT point;
HMENU hMenu, hSubMenu;
GetCursorPos(&point);
hMenu = LoadMenu(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MENU1));
hSubMenu = GetSubMenu(hMenu, 0);
SetMenuDefaultItem(hSubMenu, -1, FALSE);
SetForegroundWindow();	// 解决托盘图标菜单弹出后,点击其它地方,菜单不消失的问题
TrackPopupMenu(hSubMenu, TPM_BOTTOMALIGN, point.x, point.y, 0, m_hWnd, NULL);
PostMessage(WM_NULL, 0, 0);   
DestroyMenu(hMenu);

gdb的感性认识

编译时要加调试函数(-g): g++ -g hello.cpp -o hello

l: 列出代码
break 2: 在第2行加断点
break func:设置断点,在func()函数入口处
info break:查看断点信息
r: 运行程序(run的简写)
n: 单条语句执行(next)
c: 继续向下执行(continue)
p i: 答应变量i的值(print)
bt: 查看函数堆栈
finish: 退出函数

SeccureCRT LINUX终端VI不显示彩色的解决办法

问题:SeccureCRT LINUX终端VI不显示彩色

现象: VI不显示颜色,而是使用下划线代替颜色.

分析: 这个问题是由变量TERM的值不合适导致的,运行命令echo $TERM显示:vt100

解决方法:

在~/.bashrc(或.profile环境变量文件)中设置$TERM为:xterm-color,如下所示:

export TERM=xterm-color

然后运行命令: source .bashrc后即可显示颜色。