如题,当一个MFC程序运行的时候,在屏幕的最下方任务栏会有一个相应的图标。
当点击图标时窗口会最小化,再次点击会恢复。问题如下:
我现在自绘的对话框,在任务栏点击的时候窗口不能最小化,请问点击任务栏图标的时候会触发什么消息,我用什么方法接收住这个消息呢? 求大神帮助啊

解决方案 »

  1.   

    因为你的窗口没有ws_minimizebox样式
      

  2.   

    http://blog.csdn.net/nokianasty/article/details/6000465感觉像托盘!
      

  3.   

    我的窗口连边框都没,这个怎么弄啊Create的时候,或Create后ModifyStyle(0,ws_minisizebox)
      

  4.   

    我的窗口连边框都没,这个怎么弄啊Create的时候,或Create后ModifyStyle(0,ws_minisizebox)
    我对话框外框架去掉了,这样还行吗?
    好吧,我试试
      

  5.   

    我的窗口连边框都没,这个怎么弄啊Create的时候,或Create后ModifyStyle(0,ws_minisizebox)
    不行啊,快急死了。
      

  6.   

    ModifyStyle(0,ws_minisizebox)不行?你加到哪儿了?
      

  7.   

    Create函数里面啊 
    this->ModifyStyle
      

  8.   

    Create函数里面啊 
    this->ModifyStyle
      

  9.   

    怀疑,你用spy++看看你窗口属性里最终由这个属性吗。
      

  10.   

    我的RC里面打开这个界面,因为Border设置为None,所以Minimize Box就变灰了,EnableWindow状态,估计也不能设置那个属性了 
      

  11.   

    在PreTranslateMessage里面
    自己拦截消息并显示出来
    触发一下看看就知道了
      

  12.   

    测试通过在OnInitDialog中添加ModifyStyle(0, WS_MINIMIZEBOX);在点击按钮后ShowWindow(SW_MINIMIZE);
      

  13.   

    我测试了你的方法,不行。我不知道你怎么测试通过的,你可能没明白我的意思。你按我的要求做一下试试啊。
    1、你建立一个基于对话框的工程;
    2、把对话框上的按钮都去掉;
    3、把标题栏去掉;
    4、你在上面添加一个按钮,点击这个按钮实现最小化(这个可以实现,ShowWindow(sw_minmize)就可以了);
    5,最关键的一步,当对话框在屏幕上显示的时候你点击任务栏图标让对话框最小化。
    你这样试试可以吗?
      

  14.   

    我测试了你的方法,不行。我不知道你怎么测试通过的,你可能没明白我的意思。你按我的要求做一下试试啊。
    1、你建立一个基于对话框的工程;
    2、把对话框上的按钮都去掉;
    3、把标题栏去掉;
    4、你在上面添加一个按钮,点击这个按钮实现最小化(这个可以实现,ShowWindow(sw_minmize)就可以了);
    5,最关键的一步,当对话框在屏幕上显示的时候你点击任务栏图标让对话框最小化。
    你这样试试可以吗?
    ModifyStyle(0, WS_SYSMENU | WS_MINIMIZEBOX);
      

  15.   

    我测试了你的方法,不行。我不知道你怎么测试通过的,你可能没明白我的意思。你按我的要求做一下试试啊。
    1、你建立一个基于对话框的工程;
    2、把对话框上的按钮都去掉;
    3、把标题栏去掉;
    4、你在上面添加一个按钮,点击这个按钮实现最小化(这个可以实现,ShowWindow(sw_minmize)就可以了);
    5,最关键的一步,当对话框在屏幕上显示的时候你点击任务栏图标让对话框最小化。
    你这样试试可以吗?
    ModifyStyle(0, WS_SYSMENU | WS_MINIMIZEBOX);我测试了你的方法,不行。我不知道你怎么测试通过的,你可能没明白我的意思。你按我的要求做一下试试啊。
    1、你建立一个基于对话框的工程;
    2、把对话框上的按钮都去掉;
    3、把标题栏去掉;
    4、你在上面添加一个按钮,点击这个按钮实现最小化(这个可以实现,ShowWindow(sw_minmize)就可以了);
    5,最关键的一步,当对话框在屏幕上显示的时候你点击任务栏图标让对话框最小化。
    你这样试试可以吗?
    ModifyStyle(0, WS_SYSMENU | WS_MINIMIZEBOX);
    非常感谢啊