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

如何讓自己寫的元件會出現scrollbar

答題得分者是:歸木淡
Lordaeron
初階會員


發表:24
回覆:93
積分:33
註冊:2004-05-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-01-14 00:24:48 IP:61.217.xxx.xxx 訂閱
我已經繼承TScrollWinControl 也試過將height 調整比clientheight 高, 但scrollbar 依然是沒出現.
另外, 使用
TScrollWinControl 還要處理哪些事件或message 來回應scrolling 的動作呢.
其實我是想做一個可以scrolling 的類似paintbox 的component
編輯記錄
Lordaeron 重新編輯於 2008-01-14 00:28:46, 註解 無‧
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-01-14 01:23:57 IP:61.64.xxx.xxx 訂閱
你要裡面的東東,比外面大,才會有 scroll bar
或是你指的是
<basefont></basefont><basefont></basefont>Represents the vertical scroll bar for the scrolling windowed
control.
Class TScrollingWinControl
Syntax [Delphi] property VertScrollBar:
TControlScrollBar read FVertScrollBar write
SetVertScrollBa

Description Use
VertScrollBar to hide, show, or manipulate the vertical scroll bar for the
scrolling windowed control.
Related Information TScrollingWinControl.AutoScroll
TScrollingWinControl.HorzScrollBar


===================引 用 Lordaeron 文 章===================
我已經繼承TScrollWinControl 也試過將height 調整比clientheight 高, 但scrollbar 依然是沒出現.
另外, 使用
TScrollWinControl 還要處理哪些事件或message 來回應scrolling 的動作呢.
其實我是想做一個可以scrolling 的類似paintbox 的component
歸木淡
中階會員


發表:1
回覆:49
積分:75
註冊:2005-09-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-01-14 01:31:26 IP:71.235.xxx.xxx 訂閱
不一定要用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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-01-14 06:47:11 IP:61.229.xxx.xxx 訂閱
可有sample code 可參考嗎?
例如delphi 的source 或其它現成的open source component 也可以.
我照著加到我的tabsheet 中, 也將height 加高超過了clientheight 了, 但scrollbar 依然是沒出現.
我想做的是可以設定高度比clienheight 高, 而它的scrollbar 會出現, 簡單的講就有點像我在scrollbox 中放一個paintbox 一樣.
只是我不想放三個component 搞得哪麼麻煩, 我只要畫在canvas 上.
謝謝
編輯記錄
Lordaeron 重新編輯於 2008-01-14 07:15:25, 註解 無‧
Lordaeron 重新編輯於 2008-01-14 08:08:50, 註解 無‧
歸木淡
中階會員


發表:1
回覆:49
積分:75
註冊:2005-09-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-01-15 00:32:08 IP:71.235.xxx.xxx 訂閱
<iframe width="100%" height="100%" frameborder="0" src="void(0)" 222px;"></iframe>
請看tStringGrid的代碼
系統時間:2024-05-16 1:48:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!