按不同顯示方式打開(kāi)窗體

字號(hào):

函  數(shù):AnimateWindow
    函數(shù)功能:該函數(shù)能在顯示與隱藏窗口時(shí)能產(chǎn)生特殊的效果。有兩種類型的動(dòng)畫效果:滾動(dòng)動(dòng)畫和滑動(dòng)動(dòng)畫。
    函數(shù)原型:BOOL AnimateWindow(HWND hWnd,DWORD dwTime,DWORD dwFlags);
    參數(shù):
    hWnd:指定產(chǎn)生動(dòng)畫的窗口的句柄。
    dwTime:指明動(dòng)畫持續(xù)的時(shí)間(以微秒計(jì)),完成一個(gè)動(dòng)畫的標(biāo)準(zhǔn)時(shí)間為200微秒。
    dwFags:指定動(dòng)畫類型。這個(gè)參數(shù)可以是一個(gè)或多個(gè)下列標(biāo)志的組合。
    標(biāo)志描述:
    AW_SLIDE:使用滑動(dòng)類型。缺省則為滾動(dòng)動(dòng)畫類型。當(dāng)使用AW_CENTER標(biāo)志時(shí),這個(gè)標(biāo)志就被忽略。
    AW_ACTIVE:激活窗口。在使用了AW_HIDE標(biāo)志后不要使用這個(gè)標(biāo)志。
    AW_BLEND:使用淡出效果。只有當(dāng)hWnd為頂層窗口的時(shí)候才可以使用此標(biāo)志。
    AW_HIDE:隱藏窗口,缺省則顯示窗口。
    AW_CENTER:若使用了AW_HIDE標(biāo)志,則使窗口向內(nèi)重疊;若未使用AW_HIDE標(biāo)志,則使窗口向外擴(kuò)展。
    AW_HOR_POSITIVE:自左向右顯示窗口。該標(biāo)志可以在滾動(dòng)動(dòng)畫和滑動(dòng)動(dòng)畫中使用。當(dāng)使用AW_CENTER標(biāo)志時(shí),該標(biāo)志將被忽略。
    AW_VER_POSITIVE:自頂向下顯示窗口。該標(biāo)志可以在滾動(dòng)動(dòng)畫和滑動(dòng)動(dòng)畫中使用。當(dāng)使用AW_CENTER標(biāo)志時(shí),該標(biāo)志將被忽略。
    AW_VER_NEGATIVE:自下向上顯示窗口。該標(biāo)志可以在滾動(dòng)動(dòng)畫和滑動(dòng)動(dòng)畫中使用。當(dāng)使用AW_CENTER標(biāo)志時(shí),該標(biāo)志將被忽略。
    返回值:如果函數(shù)成功,返回值為非零;如果函數(shù)失敗,返回值為零。
    在下列情況下函數(shù)將失?。?BR>    窗口使用了窗口邊界;窗口已經(jīng)可見(jiàn)仍要顯示窗口;窗口已經(jīng)隱藏仍要隱藏窗口。若想獲得更多錯(cuò)誤信息,請(qǐng)調(diào)用GetLastError函數(shù)。
    備注:可以將AW_HOR_POSITIVE或AW_HOR_NEGTVE與AW_VER_POSITVE或AW_VER_NEGATIVE組合來(lái)激活一個(gè)窗口。
    可能需要在該窗口的窗口過(guò)程和它的子窗口的窗口過(guò)程中處理WM_PRINT或WM_PRINTCLIENT消息。對(duì)話框,控制,及共用控制已處理WM_PRINTCLIENT消息,缺省窗口過(guò)程也已處理WM_PRINT消息。
    速查:Windows NT:5.0以上版本:Windows:98以上版本;Windows CE:不支持;頭文件:Winuser.h;庫(kù)文件:user32.lib。
    舉例:
    點(diǎn)擊瀏覽該文件
    在窗體加載(Load)事件中,加入代碼:
    Private Sub Form_Load()
    Dim rgbColor
    Dim iMode
    rgbColor = Me.主體.BackColor ' 保存原始背景顏色
    iMode = 1 ' 設(shè)置顯示方式
    ' iMode 方式: 1, 3 從左至右
    ' 2 從右至左
    ' 4,12 從上至下
    ' 5,7,13,15 從左上至右下
    ' 6,14 從右上至左下
    ' 8 從下至上
    ' 9,11 從左下至右上
    ' 10 從右下至左上
    ' 16-31 從內(nèi)至外
    AnimateWindow Me.hWnd, 200, iMode ' 實(shí)現(xiàn)
    Me.主體.BackColor = rgbColor ' 恢復(fù)背景色
    Me.Repaint ' 重繪窗體
    End Sub