在Delphi中使用Checkbox

Raz*_*146 1 delphi checkbox

我的问题如下,所以如果我检查了所有这些复选框,我想要所有复选框Bold,Italic和Underline.

我尝试从这个网站搜索类似的问题,以帮助我,但他们的问题只是混淆..

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  if Checkbox1.Checked = True then
  Label1.Font.Style := [fsBold] else
  Label1.Font.Style := [];
end;

procedure TForm1.CheckBox2Click(Sender: TObject);
begin
  if Checkbox2.Checked = True then
  Label1.Font.Style := [fsItalic] else
  Label1.Font.Style := [];
end;

procedure TForm1.CheckBox3Click(Sender: TObject);
begin
  if Checkbox3.Checked = True then
  Label1.Font.Style := [fsUnderline] else
  Label1.Font.Style := [];
end;

end;
Run Code Online (Sandbox Code Playgroud)

Seb*_*ske 12

字体样式是一组不同的TFontStyles,因此对于每个复选框,您需要将相应的样式添加到集合中,如果已选中或删除它,如果未选中,例如

if Checkbox1.Checked then
  Label1.Font.Style := Label1.Font.Style + [fsBold]; 
else
  Label1.Font.Style := Label1.Font.Style - [fsBold] 
Run Code Online (Sandbox Code Playgroud)

PS:您应该始终直接使用布尔值,而不是将它们与True/ 进行比较False