必要に応じて、ラジオグループに存在するアイテムのテキストがテキストを折り返す方法について、Delphi5の小さな例が必要です。
Delphi 2006でbuttonsプロパティにアクセスして解決しましたが、D5ではこのプロパティは存在しません。
LE:SetWindowLong以外の解決策はありますか?
必要に応じて、ラジオグループに存在するアイテムのテキストがテキストを折り返す方法について、Delphi5の小さな例が必要です。
Delphi 2006でbuttonsプロパティにアクセスして解決しましたが、D5ではこのプロパティは存在しません。
LE:SetWindowLong以外の解決策はありますか?
Controls
無線グループのプロパティを反復処理することにより、Delphi5でボタンを簡単に取得できます。しかし、それでは、それらをラップさせるために何をするつもりですか?Delphi5ラジオボタンにはWordWrap
プロパティがありません。
もし私があなたなら、ラジオグループを使うのではなく、たくさんのラジオボタンをグループボックスに追加します。これにより、作成するラジオボタンのクラスを正確に制御できます。次に、独自のラジオボタンクラスを派生させ、WordWrap
プロパティを実装します。これを行うには、最新のDelphiバージョンと同様BS_MULTILINE
に、にスタイルを追加する必要があります。CreateParams
もちろん、あなたの答えに概説されている方法もうまくいくでしょう!
終わり。
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
rbs: DWORD;
rb: TRadioButton;
begin
with RadioGroup1 do
begin
for i := 0 to ControlCount-1 do
begin
rb := radiogroup1.controls[i] as TRadioButton;
rbs := GetWindowLong(rb.Handle, GWL_STYLE);
rbs := rbs or BS_MULTILINE or BS_TOP;
SetWindowLong(rb.Handle, GWL_STYLE, rbs);
end ;
Invalidate;
end ;
end;