请问怎样像WindowsMediaPlayer那样,自动隐藏标题栏和主菜单?(鼠标移到栏题栏或主菜单的位置时显示,离开隐藏)。
    如果只是把BorderStyle设成bsNone的话,客户区会扩展到整个窗体,如果再设该Form的长和宽及位置的话,会有比较大的闪动。
    我想让客户区保持原来的位置、大小不变,直接隐藏标题栏和主菜单,也就是类似透明的效果。    (不好意思,俺是菜鸟,只给得起这么点分数,还忘各位高手不吝赐教)

解决方案 »

  1.   

    给你两个函数:procedure hideTaskbar;
    var wndHandle : THandle;
    wndClass : array[0..50] of Char;
    begin
     StrPCopy(@wndClass[0], 'Shell_TrayWnd');
     wndHandle := FindWindow(@wndClass[0], nil);
     // 隐藏任务栏
     ShowWindow(wndHandle, SW_HIDE); 
    end;
    procedure showTaskbar;
    var wndHandle : THandle;
    wndClass : array[0..50] of Char;
    begin
     StrPCopy(@wndClass[0], 'Shell_TrayWnd');
     wndHandle := FindWindow(@wndClass[0], nil);
     // 显示任务栏
     ShowWindow(wndHandle, SW_RESTORE); 
    end;
      

  2.   

    To 卡庙:
      我需要的是隐藏窗体的标题栏和菜单栏,而不是在任务栏中隐藏。
    To 一个人:
      我不知道设置窗体的FormStyle有什么用,跟我的需求有关系吗?
      

  3.   

    窗体的BorderStyle设置为bsnone,就没有标题栏了
      

  4.   

    窗体的BorderStyle设置为bsnone,这样没有标题栏也没有外框
      

  5.   

    我说过了,如果在运行时把窗体设成bsNone的话,客户区会扩展到整个窗体,如果再设该Form的长和宽及位置的话,会有比较大的闪动。我想让客户区保持原来的位置、大小不变,直接隐藏标题栏和主菜单,也就是类似透明的效果。