如何讓自己寫的元件會出現scrollbar |
答題得分者是:歸木淡
|
Lordaeron
初階會員 發表:24 回覆:93 積分:33 註冊:2004-05-19 發送簡訊給我 |
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
你要裡面的東東,比外面大,才會有 scroll bar
或是你指的是 <basefont></basefont><basefont></basefont>Represents the vertical scroll bar for the scrolling windowed control. Class Syntax [Delphi] property VertScrollBar: TControlScrollBar read FVertScrollBar write SetVertScrollBa Description VertScrollBar to hide, show, or manipulate the vertical scroll bar for the scrolling windowed control. ===================引 用 Lordaeron 文 章=================== 我已經繼承TScrollWinControl 也試過將height 調整比clientheight 高, 但scrollbar 依然是沒出現. 另外, 使用TScrollWinControl 還要處理哪些事件或message 來回應scrolling 的動作呢. 其實我是想做一個可以scrolling 的類似paintbox 的component |
歸木淡
中階會員 發表:1 回覆:49 積分:75 註冊:2005-09-07 發送簡訊給我 |
不一定要用TScrollWinControl, 繼承TCustomControl也可以. 要override CreateParams
[code delphi]procedure TmyControl.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); with Params do begin if FScrollBars in [ssVertical, ssBoth] then Style := Style or WS_VSCROLL; if FScrollBars in [ssHorizontal, ssBoth] then Style := Style or WS_HSCROLL; end; end;[/code]要處理的messages有 [code delphi] procedure WMHScroll(var Msg: TWMHScroll); message WM_HSCROLL; procedure WMVScroll(var Msg: TWMVScroll); message WM_VSCROLL; [/code] |
Lordaeron
初階會員 發表:24 回覆:93 積分:33 註冊:2004-05-19 發送簡訊給我 |
可有sample code 可參考嗎?
例如delphi 的source 或其它現成的open source component 也可以. 我照著加到我的tabsheet 中, 也將height 加高超過了clientheight 了, 但scrollbar 依然是沒出現. 我想做的是可以設定高度比clienheight 高, 而它的scrollbar 會出現, 簡單的講就有點像我在scrollbox 中放一個paintbox 一樣. 只是我不想放三個component 搞得哪麼麻煩, 我只要畫在canvas 上. 謝謝 |
歸木淡
中階會員 發表:1 回覆:49 積分:75 註冊:2005-09-07 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |