首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

c++builder 页面全屏(完全覆盖,瞥木到windows系统菜单为止)

2013-01-05 
c++builder 页面全屏(完全覆盖,看木到windows系统菜单为止)form全屏显示的方法倒是有,但是需要将form的sty

c++builder 页面全屏(完全覆盖,看木到windows系统菜单为止)
form全屏显示的方法倒是有,但是需要将form的style改成bsnone,现在需要使Form完全覆盖,编译后看不到windows左下角开机系统菜单为止。
怎样实现???



急求大侠指点


[解决办法]
本帖最后由 ccrun 于 2012-03-29 10:58:04 编辑

__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    Left = 0;
    Top = 0;
    Width = Screen->Width;
    Height = Screen->Height;
    FormStyle = fsStayOnTop;
}

[解决办法]
请注意要隐藏任务栏。


显示或隐藏Windows的任务栏 
要显示或隐藏任务栏,首先要得到它的窗口句柄。任务栏是一个特殊的窗口,它的窗口类为:Shell—TrayWnd,没有标题,故只能用FindWindowEx函数来取得它的句柄: 

  Function   long   FindWindowEx(long   ph,   long   ch,   ref   String   cn,   ref   String   wn)   Library   ′user32′ 
     Function   Long   ShowWindow(Long   hWnd,   Long   nCmdShow   )   Library   ′user32′   

  用ShowWindow来显示或隐藏窗口,其第二个参数为0表示隐藏,为5表示显示:   

  handle   =   FindWindowEx(0,0,″Shell—TrayWnd″,   wn)//wn为空串   

  ShowWindow(handle,0)//隐藏任务栏   


有时候,我们希望在我们的程序执行中,将任务栏隐藏,让桌面变得比较清爽,等到我们的程序执行完毕之后,再将任务栏显示出来,这时就要用到 SetWindowPos 这个 API 了!  

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long 
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 
Const SWP_HIDEWINDOW = &H80 '隐藏视窗 
Const SWP_SHOWWINDOW = &H40 '显示视窗  
 '在程序中若要隐藏任务栏 

Private Sub Command1_Click() 
Dim Thwnd As Long 
Thwnd = FindWindow("Shell_traywnd", "") 
Call SetWindowPos(Thwnd, 0, 0, 0, 0, 0, SWP_HIDEWINDOW) 
End Sub 
 '在程序中若要再显示任务栏 

Private Sub Command2_Click() 
Dim Thwnd As Long 
Thwnd = FindWindow("Shell_traywnd", "") 
Call SetWindowPos(Thwnd, 0, 0, 0, 0, 0, SWP_SHOWWINDOW) 
End Sub
[解决办法]

static const int SWP_HIDEWINDOW = 0x80; //隐藏视窗 
static const int SWP_SHOWWINDOW = 0x40; //显示视窗  
 //在程序中若要隐藏任务栏 

void __fastcall TForm1::Button1Click(TObject *Sender) 
{
    THandle Thwnd; 
    Thwnd = FindWindow("Shell_traywnd", ""); 
    SetWindowPos(Thwnd, 0, 0, 0, 0, 0, SWP_HIDEWINDOW); 




 //在程序中若要再显示任务栏 

void __fastcall TForm1::Button2Click(TObject *Sender) 
{
    THandle Thwnd; 
    Thwnd = FindWindow("Shell_traywnd", ""); 
    SetWindowPos(Thwnd, 0, 0, 0, 0, 0, SWP_SHOWWINDOW); 
}

热点排行