ユーザーに3つのオプション、yes、no、cancelを提供するダイアログボックスがあります
。yes、noを新しいキャプションweapon1とweapon2に変更します。ボタンの幅も新しいキャプションの幅に一致するように変更します。 。ただし、新しいキャプションが長すぎる場合は、ボタンが重なっています。どうすればこれを解決できますか?
Weapon1 := FMyPlayers.player[FGamePlay.chartoattackwith].Values['Attack1'];
Range1 := FMyPlayers.player[FGamePlay.chartoattackwith].Values['Range1'];
Weapon2 := FMyPlayers.player[FGamePlay.chartoattackwith].Values['Attack2'];
Range2 := FMyPlayers.player[FGamePlay.chartoattackwith].Values['Range2'];
with CreateMessageDialog('Please pick a weapon:', mtConfirmation, mbYesNoCancel) do
try
TButton(findcomponent('Yes')).Width := self.Canvas.TextWidth(' '+Weapon1+':'+range1+' ');
TButton(findcomponent('No')).Width := self.Canvas.TextWidth(' '+Weapon2+':'+range2+' ');
TButton(FindComponent('Yes')).Caption := Weapon1+':'+range1;
TButton(FindComponent('No')).Caption := Weapon2+':'+range2;
case ShowModal of
mrYes: AttackValue := '1';
mrNo: AttackValue := '2';
mrCancel: exit;
end;
finally
Free;
end;