• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    利用VB控制窗口顯示風格

    發布: 2007-7-14 20:28 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 16次 | 進入軟件測試論壇討論

    領測軟件測試網 作者:天涯風鈴
       
      軟件界面生動與否很大程度上決定于你對窗口的設計和控制。事實上,Windows程序員可以對系統中的任何窗口進行操縱,它意味著,Windows程序員可以直接操縱任何正在運行的應用窗口;可以發現一個特定的應用是否在運行,如果該應用沒有運行還可以啟動它;可以重新排列屏幕上的所有窗口;還可以使其他應用的窗口最大化或最小化。下面我們探討一種十分有意義的應用。

      我們很希望在程序激活其它窗口時仍使得封面窗口處于前臺,也就是說該窗口具有“總在最前面”(“Always On Top”)這一特性。其實Microsoft系列軟件都是這樣做的,當你運行Word、Excel或PowerPoint時,你會發現它們的封面窗口不隨系統激活其它窗口而消失。

      Visual Basic For Windows(以下簡稱VB)作為一種可視化編程軟件,以其優秀的圖形化界面設計風格而著稱。利用它可使軟件開發周期大為縮短,然而VB對Windows DLL(動態鏈接庫)調用的強大功能卻易受不少程序員所忽略。事實上,靈活應用Windows DLL的API(應用程序接口)才能使你開發的系統更加充滿活力。正是由于VB支持DLL使得我們可以隨心所欲地控制窗口顯示風格,從而我們可以讓系統封面總處于前臺,下面說明用到的API函數。

     。甋etWindowPOSVB定義:

      Declare Sub SetWindowPosLib“User”(Bybal hWnd as Integer,hWndInsertAfter as Integer,ByValXas Integer,ByValYas Integer,ByVal cx as Integer,ByVal cy as Integer,ByVal wFlags as Integer)

      說明:能改變窗口的位置和大小,并能修改窗口在內部窗口列表中所處的位置,以控制顯示次序。

      參數類型/說明hWnd Integer-需定位的窗口hWndInsertAfter Integer-窗口句柄,在窗口列表里,

      窗口hWnd將放在該窗口句柄的后面,它可以取以下值:

      hWnd_BOTTOM:把窗口放在窗口列表的底部;

      hWnd-TOP:把窗口放在Z序的頂部。Z序是窗口按層次級別顯示的順序;

      hWnd_TOP(MOST):把窗口放在列表的頂部,位于所有最頂窗口之后。

      X Integer—窗口新的X坐標,如果hWnd是一個子窗口,X給出的是父窗口的客戶坐標。

      Y Integer—窗口新的Y坐標,如果hWnd是一個子窗口,Y給出的是父窗口的客戶坐標。

      cx Integer—指定新窗口寬度。

      cy Integer—指定新窗口高度。

      wFlags Integer—包含下列標志之一的整數:

      SWP_DRAWFRAME:圍繞窗口畫一個邊框;

      SWP_HIDEWINDOW:隱藏該窗口;

      SWP_NOACTIVATE:不激活該窗口;

      SWP_NOMOVE:保持當前位置(X和Y被忽略);

      SWP_NOREDRAW:窗口不自動重畫;

      SWP_NOSIZE:保持當前大。╟x和cy被忽略);

      SWP_NOZORDER:保持窗口列表中的當前位置(hWndInsertAfter被忽略);

      SWP_SHOWWINDOW:顯示該窗口。

      注釋:當一個窗口成為最頂窗口時,它所有的從屬窗口也成為最頂窗口;當它成為非最頂窗口時,它全部的從屬窗口和擁有窗口也成為非最頂窗口,Z序表示窗口沿著從屏幕里向外延伸的假想Z軸,從頂到底的排列次序。

      VB實現窗口擁有“Always On Top”特性:

      首先,定義全局常量及函數。

    Global Const hWnd_TOPMOST=-1
    Global Const SWP_NOACTIVATE=&H10
    Global Const SWP_SHOWWINDOW=&H40
    Declare Sub SetWindowPosLib “User” ByBal hWnd as Integer,hWndInsertAfter as Integer,ByVal X as Integer,ByVal Y as Integer,ByVal cx as Integer,ByVal cy as Integer,ByVAL wFlags as Integer)


    主程序如下編寫:


    Sub Main 0
    Screen.MousePointer=11'使鼠標變為漏斗狀
    Load SystemCover'裝載系統封面窗體
    SetWindowPos SystemCover.hWnd,hWnd_TOPMOST,0,0,0,0,SWP_NOACTIVATE Or SWP_SHOWWINDOW'使得封面總處于最前面
    Load InitWindow1'裝載初始化窗體1
    Load InitWindow2'裝載初始化窗體2


    Unload SystemCover'關閉系統封面窗體
    Screen.MousePointer=0
    '使鼠標變為缺省形狀
    End Sub

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>