VB程序實現WindowsXP效果的界面

  雖然WindowsXP的界面非常華麗。但是令人遺憾的是,我們用VB寫的程序除了菜單和窗口的外觀是XP風格外,其他控件還是一如既往的是普通風格。我想,有的程序在XP下有XP的風格,VB也一定有辦法實現XP的風格。後來筆者在網上看到一篇介紹XML的文章,又在網上找到了一篇實現XP風格的文章,經過自己的實踐,終於找到了VB程序實現XP風格的辦法。爲了使其他的網友不至於走像我這樣的多的彎路,將此辦法寫出來,與大家共同提高!!
作者:崔佔民
Email:[email protected]

  具體的實現方法如下:

  ①:在你的窗體加入代碼。如果是多個窗口,可以將此代碼放到模塊中。代碼如下:

’聲明API函數

Private Declare Sub InitCommonControls Lib "comctl32.dll" ()

Private Sub Form_Initialize()

InitCommonControls

End Sub

  注意:千萬不要在Form_load()事件下寫InitCommonControls這句話,否則你的窗體會啓動不了。(不要怪我沒告訴你啊~~~~)

  ②:建立一個和你的.exe同名的.exe.manifest文件(假如:如果你最後編譯好的文件名爲WindowXPStyle.exe,則建立一個文件名爲WindowXPStyle.exe.manifest的文件),並且此文件必須存在於和你Exe文件的同一目錄下。

  以WindowXPStyle.exe爲例,則這個WindowXPStyle.exe.manifest的文件的內容如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity

version="1.0.0.0"

processorArchitecture="X86"

name="CompanyName.ProductName.YourApp"

type="win32"

/>

<description>Your application description here.</description>

<dependency>

<dependentAssembly>

<assemblyIdentity

type="win32"

name="Microsoft.Windows.Common-Controls"

version="6.0.0.0"

processorArchitecture="X86"

publicKeyToken="6595b64144ccf1df"

language="*"

/>

</dependentAssembly>

</dependency>

</assembly>

  將以上內容保存爲WindowXPStyle.exe.manifest。並且和執行文件放在一個目錄下(一定要記住)。

  到此爲止,我們的程序已經完成,不過在VB的設計環境下運行是看不到XP效果的。必須編譯成可執行文件運行纔可以。(因爲這個我試了不知多少遍,以爲VB程序就是實現不了XP效果呢~~,沒想到必須編譯成執行文件纔可以)。

常見問題和注意事項

  由於VB6自身的原因,Windows XP再一次給我們留了一些難題:

  一、工具欄問題:工具欄控件一定要用Microsoft Windows Common Controls 5.0,而不要用Microsoft Windows Common Controls 6.0。因爲此InitCommonControls API函數是位於comctl32.dll(Microsoft Windows Common Controls 5.0控件的動態鏈接庫中)。

  二、圖形風格按鈕的問題:很遺憾,我們不能再使用Graphical風格的命令按鈕(即Style=1的命令按鈕控件)了。因爲一旦將命令按鈕的Style屬性設爲1,那麼它將失去Windows XP風格。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章