對 ScrollBox 上面的內容做放大縮小功能所面臨的問題 |
缺席
|
linly
一般會員 發表:42 回覆:37 積分:15 註冊:2007-10-07 發送簡訊給我 |
您好:
我在 ScrollBox 上面放很多 TImage,然後當我按下放大或者縮小功能時,因為 TImage 的寬高會改變,因此需要重新擺放 TImage 在 ScrollBox 上的位置,例如放大的函式: [code cpp] void __fastcall TForm1::ZoomInClick(TObject *Sender) { double oldRange = ScrollBox1->VertScrollBar->Range; double oldPos = ScrollBox1->VertScrollBar->Position; ScrollBox1->VertScrollBar->Range = gap (gap height 50)*num1; ScrollBox1->VertScrollBar->Position = 0; int temp; for (int i = 0; i < num1; i) { pImagePool[i]->Width = width 50; pImagePool[i]->Height = height 50; temp = ScrollBox1->Width - pImagePool[i]->Width - 20; pImagePool[i]->Left = temp/2; pImagePool[i]->Top = gap (gap pImagePool[i]->Height)*i; } ScrollBox1->VertScrollBar->Position = ceil((oldPos*ScrollBox1->VertScrollBar->Range)/oldRange); } [/code] 其中我用螢光筆畫起來的敘述非加不可,不然 TImage 的位置可就不聽話會亂跑 ( 實驗方式:把螢光筆那行註解掉,捲軸拉到中途,然後放大) 當然猜的出來原因是什麼,只是說我的解決方式會造成一個現象就是,捲軸上去又下來,這是因為我先歸零的緣故,所以在這邊想請問一下有什麼方式避免這個問題,附上程式碼供參考 謝謝 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |