RomanDaemon
Цитата:
offtop
Несложно самому написать фyнкцию. Только к DevExpess это отношение не имет. Пример: [more=Подробнее]function CheckMessageDlg(Msg, Caption, CheckBoxCaption: string; DlgType: TMsgDlgType;
Buttons: TMsgDlgButtons; var AChecked: Boolean): TModalResult;
var
ADialog: TForm;
I, L, T, D: Integer;
AControl: TControl;
ACheckBox: TCheckBox;
begin
ADialog := CreateMessageDialog(Msg, DlgType, Buttons);
try
if Caption <> '' then
ADialog.Caption := Caption;
L := 0;
T := ADialog.ClientHeight;
D := 0;
ACheckBox := TCheckBox.Create(ADialog);
with ACheckBox do
begin
Parent := ADialog;
Caption := CheckBoxCaption;
Checked := not AChecked;
Width := ADialog.Canvas.TextWidth(ACheckBox.Caption) + 30;
end;
for I := 1 to ADialog.ControlCount - 1 do
begin
AControl := ADialog.Controls[I];
if AControl is TLabel then
begin
ACheckBox.Top := AControl.Top + AControl.Height + 10;
ACheckBox.Left := AControl.Left;
T := ACheckBox.Top + ACheckBox.Height + 20;
if ACheckBox.Width > AControl.Width then
L := ACheckBox.Width - AControl.Width;
end;
if AControl is TButton then
begin
D := T - AControl.Top;
if D > 0 then
AControl.Top := AControl.Top + D;
if L > 0 then
AControl.Left := AControl.Left + L div 2;
end;
end;
if D > 0 then
ADialog.ClientHeight := ADialog.ClientHeight + D;
if (ACheckBox.Left + ACheckBox.Width) > ADialog.ClientWidth then
ADialog.ClientWidth := ACheckBox.Left + ACheckBox.Width + 5;
Result := ADialog.ShowModal;
AChecked := not ACheckBox.Checked;
finally
ADialog.Free;
end;
end;[/more]
Добавлено:
Kmich
Цитата:
Цитата:
Подскажите пожалуйста, а есть компонент, типа диалогбокс, который бы имел галку - "показывать в дальнейшем"
offtop
Несложно самому написать фyнкцию. Только к DevExpess это отношение не имет. Пример: [more=Подробнее]function CheckMessageDlg(Msg, Caption, CheckBoxCaption: string; DlgType: TMsgDlgType;
Buttons: TMsgDlgButtons; var AChecked: Boolean): TModalResult;
var
ADialog: TForm;
I, L, T, D: Integer;
AControl: TControl;
ACheckBox: TCheckBox;
begin
ADialog := CreateMessageDialog(Msg, DlgType, Buttons);
try
if Caption <> '' then
ADialog.Caption := Caption;
L := 0;
T := ADialog.ClientHeight;
D := 0;
ACheckBox := TCheckBox.Create(ADialog);
with ACheckBox do
begin
Parent := ADialog;
Caption := CheckBoxCaption;
Checked := not AChecked;
Width := ADialog.Canvas.TextWidth(ACheckBox.Caption) + 30;
end;
for I := 1 to ADialog.ControlCount - 1 do
begin
AControl := ADialog.Controls[I];
if AControl is TLabel then
begin
ACheckBox.Top := AControl.Top + AControl.Height + 10;
ACheckBox.Left := AControl.Left;
T := ACheckBox.Top + ACheckBox.Height + 20;
if ACheckBox.Width > AControl.Width then
L := ACheckBox.Width - AControl.Width;
end;
if AControl is TButton then
begin
D := T - AControl.Top;
if D > 0 then
AControl.Top := AControl.Top + D;
if L > 0 then
AControl.Left := AControl.Left + L div 2;
end;
end;
if D > 0 then
ADialog.ClientHeight := ADialog.ClientHeight + D;
if (ACheckBox.Left + ACheckBox.Width) > ADialog.ClientWidth then
ADialog.ClientWidth := ACheckBox.Left + ACheckBox.Width + 5;
Result := ADialog.ShowModal;
AChecked := not ACheckBox.Checked;
finally
ADialog.Free;
end;
end;[/more]
Добавлено:
Kmich
Цитата:
Народ подскажите установил DevExp 54 версию под delphi2007 и появился следующий косяк: у меня в ButonEdit кнопки с иконками стали отображаться серым цветом как неактивные а если ставлю enable=false то они делаются в нормальном цвете. Может кто сталкивался и подмогнет?Об этом уже писали. Глюк 54 версии