Больше не показывать это окно

Подскажите, как создать окно с галочкой "Не показывать больше это окно"


TUser © ( 2004-10-05 12:37 ) [1]

Кинуть на форму чекбокс?


Fishka ( 2004-10-05 12:41 ) [2]

Это понятно он и так галочку ставить будет, мне нужно чтобы ащкьф загружалась в программе до тех пор пока CheckBox не будет с галочкой


Reindeer Moss Eater © ( 2004-10-05 12:43 ) [3]


Суслик © ( 2004-10-05 12:43 ) [4]

храни где-нибудь:
1. TIniFile
2. TRegistry
3. TFileStream

выбирай на вкус и цвет


Fishka ( 2004-10-05 12:44 ) [5]

Логично, только в откомпиленом проекте галочка сохраняться не будет


Reindeer Moss Eater © ( 2004-10-05 12:45 ) [6]

А это не единственное место для галочек


Fishka ( 2004-10-05 12:46 ) [7]

По поводу ини-файла вещь пройдет, как создать файлик понятно, а как определить есть-ли он


Reindeer Moss Eater © ( 2004-10-05 12:47 ) [8]

Это тема кандидатской


Fishka ( 2004-10-05 12:47 ) [9]

Я не совсем понял, что значит "А это не единственное место для галочек"


Reindeer Moss Eater © ( 2004-10-05 12:48 ) [10]

Это значит что есть еще места.


Игорь Шевченко © ( 2004-10-05 12:57 ) [11]

function hs_MessageDlgWithCheckBox (const MsgStr : String;
DlgType : TMsgDlgType;
var Checked : Boolean;
CheckBoxStr : String) : Integer;
const
CheckBoxOffset = 10; //Отступ CheckBox"а от краев формы и от кнопок
var CheckBox : TCheckBox;
AForm : TForm;
HeightInc, WidthInc : Integer; //Изменения ширины и высоты формы для
//вставки CheckBox"а
CheckBoxWidth : Integer; //Ширина CheckBox"а с надписью и отступами
TextRect : TRect;
AMsgButtons : TMsgDlgButtons;
AButton : TButton;
begin
AMsgButtons := [mbOk];
case DlgType of
mtConfirmation:
AMsgButtons := [mbYes, mbNo];
end;
AForm := CreateMessageDialog(MsgStr, DlgType, AMsgButtons);
with AForm do
try
Caption := Application.Title;
Position := poMainFormCenter;
//Создание CheckBox"а с флажком слева от надписи и установка его на форму
CheckBox := TCheckBox.Create(AForm);
CheckBox.Alignment := taRightJustify;
CheckBox.Parent := AForm;
CheckBox.Caption := CheckBoxStr;
//Определение ширины надписи на CheckBox"е. Поскольку Canvas CheckBox"а
//недоступна, ширина определяется по Canvas формы, а чтобы надпись была
//той же ширины, Font CheckBox"а приравнивается к Font формы.
CheckBox.Font.Assign(Font);
SetRect(TextRect, 0, 0, Screen.Width div 2, 0);
DrawText(Canvas.Handle, PChar(CheckBoxStr), Length(CheckBoxStr), TextRect,
DT_CALCRECT OR DT_EXPANDTABS OR DT_WORDBREAK);
//TextRect содержит размеры надписи для CheckBox"а.
//Я считаю, что CheckBox без надписи имеет ширину, равную высоте
//(установлено эмпирическим путем)
//Ширина CheckBox"а с отступами справа и слева.
CheckBoxW > //Изменение высоты формы
HeightInc := CheckBox.Height + CheckBoxOffset;
Height := Height + HeightInc;
//Если CheckBox с надписью получился шире формы, то форма должна стать
//шире, а кнопки выровнены по центру.
if (Width W > end else
W > if (DlgType = mtConfirmation) then begin
AButton := FindComponent("Yes") as TButton;
AButton.Caption:=SMsgDlgYes;
end else
AButton := FindComponent("Ok") as TButton;
with AButton do begin
Top := Top + HeightInc;
//По первой кнопке спозиционировать CheckBox по высоте
CheckBox.Top := Top — CheckBox.Height — CheckBoxOffset;
Left := Left + WidthInc;
end;
if DlgType = mtConfirmation then
with (FindComponent("No") as TButton) do begin
Caption:=SMsgDlgNo;
Top := Top + HeightInc;
Left := Left + WidthInc;
end;
CheckBox.W > CheckBox.Left := CheckBoxOffset;
Result := ShowModal;
Checked := CheckBox.Checked;
finally
Free;
end;
end;

Читайте также:  Как нарисовать восьмиугольник циркулем

<
Функция выдает сообщение, требующее подтверждения, с возможностью отключения
выдачи этого сообщения.
>
function ConfirmWithCheckBox (const MsgStr: String; var Checked: Boolean;
CheckBoxStr: String = "Больше не показывать это сообщение"): Integer;
begin
Result := hs_MessageDlgWithCheckBox (MsgStr, mtConfirmation, Checked,
CheckBoxStr);
end;

Н ачиная с Vista, при удалении программы в Windows через раздел Панели управления «Программы и компоненты» появляется окошко подтверждения, в котором система спрашивает пользователя, действительно ли он желает удалить приложение или компонент. Так вот, если при этом установить в нём галочку «Больше не показывать это диалоговое окно», оно больше никогда не появится.

Более того, вы уже не сможете его восстановить, по крайней мере, через графический интерфейс оболочки.

Зато это можно сделать, воспользовавшись встроенным редактором реестра. Запустите regedit и разверните следующую ветку:

В правой части окна редактора вы увидите параметр с именем и значением NO. А теперь удалите его.

Это всё. Можете закрыть редактор и проверить результат. Окошко с запросом подтверждения вновь будет появляться при удалении приложений. Только вот какой смысл в восстановлении подтверждения? Возможно, смысла в этом и впрямь немного. Но это маленькое окошко даёт пользователю пару лишних секунд, за которые он может передумать и отказаться от удаления приложения.

На этой странице

Отключение экрана приветствия

При использовании пробной версии невозможно отключить отображение экрана приветствия. Надеемся, что наши руководства будут вам полезны, если вы хотите узнать о начале работы с Photoshop CC или новых возможностях этого продукта.

Если у вас оформлено платное членство Creative Cloud, после загрузки экрана приветствия прокрутите страницу вниз до разделов «Новые возможности», «Начало работы» или «Советы и рекомендации». Выберите пункт «Больше не показывать экран приветствия». Чтобы снова вызвать экран приветствия, выберите «Справка» > «Приветствие».

Читайте также:  Чему равна сила тока при резонансе

Примечание. В последних версиях Mac OS полосы прокрутки не отображаются по умолчанию. Чтобы включить их отображение, выберите пункты «Системные настройки» > «Общие». В разделе «Показать полосы прокрутки» выберите пункт «Всегда» или «При прокрутке».

Если вам не удается перейти к параметру «Больше не показывать экран приветствия», запустите сценарий, представленный ниже, чтобы отключить отображение экрана приветствия. Вы можете просмотреть этот элемент в меню «Справка» > «Приветствие».