線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1772
推到 Plurk!
推到 Facebook!

ScrollBox 垂直捲軸快速拉動,畫面沒更新的問題

缺席
linly
一般會員


發表:42
回覆:37
積分:15
註冊:2007-10-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-02-29 11:47:17 IP:140.113.xxx.xxx 訂閱
您好:
這邊有一個元件使用問題想請教網友們,我使用 ScrollBox 捲軸拉動,然後在捲軸上的 Image 元件會跟著移動,並更新內容( 這顯示的內容是一張張 Image ),如果拉的太快,會造成看到的畫面沒有更新,但事實上是有更新的,實驗方式為:我只要隨便拿我桌面上的一個視窗去疊在這個捲軸的 GUI 上面,然後再移走,畫面就正常了。請問為什麼會這樣?我本來想說用 RePaint 或 Refresh 這種控制項的函式就會改善,結果沒有。目前沒想到該怎麼處理 >"<

謝謝各位
yulong375
一般會員


發表:2
回覆:22
積分:19
註冊:2007-03-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-03-04 17:28:30 IP:140.128.xxx.xxx 訂閱
在Show 圖的程式下方加入下面那行看看。
[code cpp]
Image1->Invalidate();
[/code]
------
我還是很新的新手,如果回答的太笨拙還請各位多多包含!!
linly
一般會員


發表:42
回覆:37
積分:15
註冊:2007-10-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-03-05 20:21:31 IP:140.113.xxx.xxx 訂閱
Image1->Invalidate(); 有作用,不過要等我把左鍵放開垂直捲軸才行

這個 Incalidate() 不會在我拖拉 ScrollBox 的 VertScrollBar 時有作用,也不知到為什麼XD

謝謝

[code cpp]
void __fastcall TFrame1::ScrollBoxWndProc(TMessage& Message)
{
switch (Message.Msg)
{
case WM_VSCROLL:
{
Image->Validate();
....
}
break;
}
OldScrollBoxWndProc(Message);
}

[/code]


===================引 用 yulong375 文 章===================
在Show 圖的程式下方加入下面那行看看。
[code cpp]
Image1->Invalidate();
[/code]
編輯記錄
linly 重新編輯於 2008-03-05 20:23:07, 註解 無‧
yulong375
一般會員


發表:2
回覆:22
積分:19
註冊:2007-03-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-03-07 20:52:54 IP:218.162.xxx.xxx 訂閱
請參考 " 為視窗加上捲軸 "這節 http://home.educities.edu.tw/wanker742126/win32asm/w32asm_ch13.html#WIN_SCROLL

有詳細說明 WM_HSCROLL、WM_VSCROLL 訊息,其中也包括當使用者拖操縱桿移動時,所發出具有 SB_THUMBTRACK 的 WM_HSCROLL 訊息的探討。
------
我還是很新的新手,如果回答的太笨拙還請各位多多包含!!
系統時間:2024-05-05 8:47:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!