|
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"コンボボックスの拡張"
みなさん、こんにちは。十兵衛です。
【タイトル】コンボボックスのスタイルがcsDropDownListの時の初期表示を操作
します。DefIndexプロパティを追加しました。このプロパティにItemsで登録さ
れているアイテムのうち初期表示させたいIndexを設定する事で実行時に表示さ
せる事が可能です。設計時には...そこまで考えていませんデス(^^;)
-----------------------------------------------------------------------
unit ComboEX;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs,
StdCtrls;
type
TComboEX = class(TComboBox)
private
{ Private 宣言 }
FDefIndex: Integer;
procedure SetDefIndex(Value:Integer);
protected
{ Protected 宣言 }
public
{ Public 宣言 }
constructor Create(AOwner:TComponent);override;
procedure Loaded;override;
published
{ Published 宣言 }
property DefIndex:Integer read FDefIndex write SetDefIndex;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('MyLib', [TComboEX]);
end;
{ TComboEX }
constructor TComboEX.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FDefIndex := -1;
end;
procedure TComboEX.Loaded;
begin
if Style = csDropDownList then ItemIndex := FDefIndex;
end;
procedure TComboEX.SetDefIndex(Value: Integer);
begin
if Value <> FDefIndex then begin
if (Value > (Items.Count-1)) then begin
raise EListError.Create('リストの範囲を超えています');
end else FDefIndex := Value;
end;
end;
end.
------------------------------------------------------------------------
ではでは(^^)
99/06/30(水) 13:31 十兵衛(BZT01311)
Original document by 十兵衛 氏 ID:(BZT01311)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|