首先說下這是個什麼東西吧,就是乙個類似於
qq寵物的東東,能在你的桌面上蹦啊蹦啊蹦啊……的那麼乙個東東。
先給你看幾個效果圖:
當然了,完成後可是動態的哦。
好了,廢話不多說。先給你打個基礎。
知道四個
api:
getwindowlong,setwindowlong, setlayeredwindowattributes,setwindowpos 先說
setwindowpos
吧。函式原型:
setwindowpos
(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 const hwnd_topmost = -1
private sub form_load()
setwindowpos me.hwnd, hwnd_topmost, 0, 0, 0, 0, 3
end sub
再說getwindowlong
:函式原型:
getwindowlong (byval hwnd as long, byval nindex as long) as long
作用是從指定視窗中返回資訊。獲得指定視窗的結構資料資訊,什麼叫
"視窗的結構資料資訊
"?就是
1個視窗的諸方面情況吧,象人有姓名性別年齡等一樣,視窗有
"擴充套件樣式(包含標題欄,有標題欄縮小、無標題欄等的組合值)",
"樣式(包含滾動條、系統選單、邊框等可設定)",
"父視窗",
"子視窗",
"視窗函式
"等諸多方面,見下面
nindex
引數值。這些方面的內容(每
1方面只能有
1個當前值)就構成了視窗的結構資訊。
還有就是
setwindowlong
:這個是和
getwindowlong
合用的。
函式原型:
setwindowlong (byval hwnd as long, byval nindex as long, byval dwnewlong as long) as long
作用就是在視窗結構中未指定的視窗設定資訊。常用此函式來動態地設定視窗的風格(如樣式,滾動條等等)。即不在屬性視窗中設定。而在
api中設定。
最後乙個
setlayeredwindowattributes
:這是設定窗體透明的函式。
setlayeredwindowattributes (byval hwnd as long, byval crkey as long, byval balpha as byte, byval dwflags as long) as long
hwnd:
控制代碼crkey
:顏色值
balpha
:透明度取值區間【
0~255
】dwflags:
透明方式
其中透明方式有兩種:①、取
lwa_alpha,
此時crkey
引數無效。
balpha
有效。②、取
lwa_clorkey
,此時窗體中所有顏色值為
crkey
的地方將為透明(透明度取決於
balpha
)。使用前提是:首先要是窗體有
ws_ex_layered
擴充套件屬性。(用
setwindowlong
就可以)
未完待續……
桌面上的舞蹈之完成篇(09 04 29)
接著上次的說,上次說完了幾個 api。這算是這個東西裡面的乙個核心吧。下面就把它完成了。api懂了其他的就沒什麼了。我給你說下大體實現。首先是有個 flash backgroundcolor設為0 然後就是用上面的三個 api getwindowlong,setwindowlong,setlayer...
桌面上的舞蹈之總結篇(09 04 30)
看了上兩篇文章後是不是覺得做乙個這個東西出來是很簡單呢。不知道你是什麼感覺。當時我把這個東西分析出來的時候感覺真是太簡單了。但卻也費了我不少精力。不過還好對於 api的使用又有了深入的感覺。關於這個程式,本身就沒有多少東西,但是基於此你可以想到更加廣闊的應用。比如說用這裡面的一些東西把一朵花做成透明...
Android的桌面上的應用介紹
android的桌面上有三種型別的圖示分別為 快捷方式,實時資料夾,桌面外掛程式 一 快捷方式 在桌面上的快捷方式是應用程式的快捷方式,主要用於快速啟動應用程式。在桌面區域佔乙個單元格的大小。二 實時資料夾 提 用的實時更新,主要包括聯絡人實時資料夾 電子郵件實時資料夾。在桌面區域佔乙個單元格的大小...