我最近在做一个mdi形式的浏览器,我在每个mdi的窗口上画了1个图标,用于记录当前网页地址的,就是说当点击这个mdi窗口上的这个图标后就会把这个窗口的网子加入到收藏家里面,但是现在的问题是当我把这个mdi窗口最小化的时候,那个图标在加上系统的3个按钮(最大,普通,关闭) 的话把ie的标题都挡住了,很不美观,我想如果当把mdi最小化的时候把图标去掉,当正常显示的时候在把图标显示出来。我不知道如何做了。图标当初是在CChildFrame::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)里面的函数化出来的,现在请问最小化的时候如何把图标去除阿?请您指点。谢谢。
请看这个是那个问题的图片
正常状态:
www.51mcd.com/1a.gif
最小化状态(看了就知道我为什么想把图标去掉了)
www.51mcd.com/2a.gif
请看这个是那个问题的图片
正常状态:
www.51mcd.com/1a.gif
最小化状态(看了就知道我为什么想把图标去掉了)
www.51mcd.com/2a.gif
解决方案 »
- (求助)通过代理服务器访问的问题
- 如何获取IE的历史纪录?
- 怎样在对话框(Dialog)中通过程序发送模拟键值给一个视图
- "int a , b ... a |= b ; " 其中运算"|=" 能用一种四则表达式替换吗?
- 回调函数的参数是怎么传递的?
- 请教关于AnimateWindow函数的问题
- 我一个很菜的问题,关于变量输出
- char buf[x]的ascii码问题(互相转换)
- 作图问题
- XML的声明<?xml version="1.0" encoding="UTF-8" ?>
- 怎样把string类型转换成char *????多谢!!!
- 如何使用CreateProcess创建一个线程以调用console程序?
1、在Form的头文件中添加:
void __fastcall RestrictMinimizeMaximize(TMessage &Msg);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_SYSCOMMAND, TMessage, RestrictMinimizeMaximize)
END_MESSAGE_MAP(TForm)
2、在Form的单元文件中添加:
void __fastcall TForm1::RestrictMinimizeMaximize(TMessage& Msg)
{
if (Msg.WParam == SC_MINIMIZE)
{
//catches minimize...
}
else if (Msg.WParam == SC_MAXIMIZE)
{
//catches maximize...
}
TForm::Dispatch(&Msg);
// or "else TForm::Dispatch(&Msg)" to trap
}
if (message==WM_MOVE||message==WM_PAINT||message == WM_NOTIFY||message== WM_NCACTIVATE
||message==WM_SHOWWINDOW||message==WM_KILLFOCUS||message==WM_SIZE)
{
CDC* pWinDC = GetWindowDC();
if (pWinDC)
DrawTitleBar(pWinDC);
ReleaseDC(pWinDC);
}
来判断的。请问如果最小化不画图标应该如何改?