picture控制項+timer控制項=無閃爍移動。
事例:
form = picture1 + timer1
設定 timer1.間隔=50
複製下面**看效果
vbscript code
'*******************cike技術**************************''
bitblt 目標hdc, 目標x, 目標y, 影象高, 影象寬, 源hdc, 源x, 源y, 光柵運算常數
'【函式】
'bitblt
'【作業系統】
'win9x: yes
'winnt: yes
'【宣告】
'bitblt lib "gdi32" alias "bitblt" (byval hdestdc as long, byval x as long, byval y as long, byval nwidth as long, byval nheight as long, byval hsrcdc as long, byval xsrc as long, byval ysrc as long, byval dwrop as long) as long
'【說明】
'將一幅點陣圖從乙個裝置場景複製到另乙個?源和目標dc相互間必須相容
'【返回值】
'long,非零表示成功,零表示失敗。會設定getlasterror
'【其它】
'在nt環境下,如在一次世界傳輸中要求在源裝置場景中進行剪下或旋轉處理,這個函式的執行會失敗
'如目標和源dc的對映關係要求矩形中畫素的大小必須在傳輸過程中改變,那麼這個函式會根據需要自動伸縮、旋轉、摺疊、或切斷,以便完成最終的傳輸過程
'【參數列】
'hdestdc -------- long,目標裝置場景
'x,y ------------ long,對目標dc中目標矩形左上角位置進行描述的那個點。用目標dc的邏輯座標表示
'nwidth,nheight - long,欲傳輸圖象的寬度和高度
'hsrcdc --------- long,源裝置場景。如光柵運算未指定源,則應設為0
'xsrc,ysrc ------ long,對源dc中源矩形左上角位置進行描述的那個點。用源dc的邏輯座標表示
'dwrop ---------- long,傳輸過程要執行的光柵運算''
***************==== --- cike技術*** 16874787---***************====
private
declare
function
bitblt lib
"gdi32
"(byval hdestdc
aslong
, byval x
aslong
, byval y
aslong
, byval nwidth
aslong
, byval nheight
aslong
, byval hsrcdc
aslong
, byval xsrc
aslong
, byval ysrc
aslong
, byval dwrop
aslong
) as
long
const
speed
asbyte=1
dimwid%
dimhei%
dimdc
&const
text ="
cike技術*** 16874787
"private
subform_load()
dc =
picture1.hdc
picture1.currentx =0
picture1.currenty =0
picture1.print text
picture1.scalemode
=vbpixels
wid
=picture1.textwidth(text)
hei
=picture1.textheight(text)
picture1.width
=wid
*screen.twipsperpixelx
picture1.height
=hei
*screen.twipsperpixely
end sub
private
subtimer1_timer()
dimi%
fori =0
tospeed
bitblt dc, wid +1
, hei +1
, 1, hei, dc, 0,
0, &hcc0020
'&hcc0020 is equvilent to vbsrccopy
bitblt dc, 0,
0, wid, hei, dc, 1,
0, &hcc0020
bitblt dc, wid, 0,
1, hei, dc, wid +1
, hei +1
, &hcc0020
next
ipicture1.refresh
end sub
SDI主框架啟動隱藏,無閃爍
在initinstance 在 ccommandlineinfo cmdinfo parsecommandline cmdinfo 視窗隱藏 m ncmdshow sw hide enableloadwindowplacement false 排程在命令列中指定的命令。如果 用 regserver ...
VC無閃爍刷屏技術的實現
1.顯示的圖形為什麼會閃爍 我們的繪圖過程大多放在ondraw或者onpaint函式中,ondraw在進行螢幕顯示時是由onpaint進行呼叫的。當視窗由於任何原因需要重繪時,總是先用背景色將顯示區清除,然後才呼叫onpaint,而背景色往往與繪圖內容反差很大,這樣在短時間內背景色與顯示圖形的交替出...
VC無閃爍刷屏技術的實現
我們的繪圖過程大多放在ondraw或者onpaint函式中,ondraw在進行螢幕顯示時是由onpaint進行呼叫的。當視窗由於任何原因需要重繪時,總是先用背景色將顯示區清除,然後才呼叫onpaint,而背景色往往與繪圖內容反差很大,這樣在短時間內背景色與顯示圖形的交替出現,使得顯示視窗看起來在閃。...