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

建造 ListBox 的問題

尚未結案
TATSU
版主


發表:50
回覆:135
積分:62
註冊:2003-01-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-06 17:18:03 IP:218.102.xxx.xxx 未訂閱
  TMyListBox = class(TCustomListBox)
  private
    { Private declarations }
  protected
    { Protected declarations }
    procedure CreateParams(var Params: TCreateParams); override;
  public
    { Public declarations }
    procedure CreateWnd; override;
  published
    { Published declarations }
  end;    implementation    procedure TFilesListBox.CreateWnd;
begin
  inherited ;    //  if Not(Style in [lbVirtual, lbVirtualOwnerDraw]) then
//   Style := lbVirtual ;
end;    procedure TFilesListBox.CreateParams(var Params: TCreateParams);
const
  LBS_DISABLENOSCROLL = $1000 ;
begin
  inherited  ;
  Params.Style := Params.Style AND NOT WS_HSCROLL ;
  Params.Style := Params.Style or LBS_DISABLENOSCROLL ;
end;
我用以上的程式碼可以建造一個新元件,但當我加上
  if Not(Style in [lbVirtual, lbVirtualOwnerDraw]) then
   Style := lbVirtual ;
 
在 IDE 下可以見到這個元件,但執行時便沒有,結束程式時更會出現 Control has no parent 的錯誤訊息,我知道改變 CustomListBox 的 style 會執行 RecreateWnd ,如果單靠 CreateParams 也可以改變它成為 Virtual style , 但 CustomListBox 內的 FStyle property 沒有改變,一些相關的程序亦使用不 到,如果我要一開始便改變這個 Style 的值,那應該放到那一個程序上才可 以? 離線閱讀程式
系統時間:2024-06-27 3:00:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!