RADogroup에있는 항목의 텍스트가 필요한 경우 텍스트를 줄 바꿈하는 방법에 대한 Delphi 5의 작은 예제가 필요합니다.delphi-TRadioGroup (wrapable 항목 포함)
버튼 속성에 액세스하여 Delphi 2006에서이 문제를 해결했지만 D5에서는이 속성이 존재하지 않습니다.
LE : SetWindowLong 이외의 해결책이 있습니까?
RADogroup에있는 항목의 텍스트가 필요한 경우 텍스트를 줄 바꿈하는 방법에 대한 Delphi 5의 작은 예제가 필요합니다.delphi-TRadioGroup (wrapable 항목 포함)
버튼 속성에 액세스하여 Delphi 2006에서이 문제를 해결했지만 D5에서는이 속성이 존재하지 않습니다.
LE : SetWindowLong 이외의 해결책이 있습니까?
완료.
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;
라디오 그룹의 Controls
속성을 반복하여 Delphi 5에서 버튼을 쉽게 얻을 수 있습니다. 그렇다면 그들을 포장하기 위해 당신은 무엇을 할 것입니까? Delphi 5 라디오 버튼에는 WordWrap
속성이 없습니다.
나는 라디오 그룹을 사용하는 대신 그룹 상자에 여러 개의 라디오 버튼을 추가합니다. 이렇게하면 생성하는 라디오 버튼의 클래스를 정확히 제어 할 수 있습니다. 그런 다음 라디오 버튼 클래스를 파생시키고 WordWrap
속성을 구현합니다. 이렇게하려면 최신 델파이 버전처럼 CreateParams
에 BS_MULTILINE
스타일을 추가해야합니다.
물론 답안에 설명 된 방법도 효과가 있습니다!
이것이 내가 작성한 방법입니다. + 1 – RBA
그건 그렇고, 제 글을 쓸 때 당신의 대답을 보지 못했습니다. 나는 나의 오래된 델피 버전을 탐험 하느라 바빴다 !! –
그것을하는 방법에 대한 표시는 매우 유용합니다. 나는 질문을 게시하고, 그 후에 코드를 썼다. 어쨌든, 당신은 매우 빠릅니다! – RBA