Witam,
Tak jak w temacie...
Czy da się (tzn pewnie się da) ale jak stworzyć takie okno(np. powitalne) i móc tam zaznaczyć checkboxa przy informacji "Nie pokazuj więcej tego okna" ...
no i oczywiście żeby to działało :)
Z góry dziękuję :)
Witam,
Tak jak w temacie...
Czy da się (tzn pewnie się da) ale jak stworzyć takie okno(np. powitalne) i móc tam zaznaczyć checkboxa przy informacji "Nie pokazuj więcej tego okna" ...
no i oczywiście żeby to działało :)
Z góry dziękuję :)
Omg... wyświetlasz okno z checkboxem, jego ustawienie zapisujesz do pliku. Przy starcie aplikacji odczytujesz ten plik i sprawdzasz, czy wyświetlić ponownie to okienko (czyli w pliku na poczatku ma byc zapisne, zeby je wyswietlac).
To z reguły jest okno modalne, które po wywołaniu zwraca jakąś wartość (ModalResult) i tą wartość musisz ustawić podczas zamykania okna a później pozostaje if ModalResult = 1 then zapisz nie chcemy cie a przed próbą utworzenia tego okna sprawdzenie tej wartości.
EDIT// [losowa nazwa] trochę mnie uprzedził
Losowa nazwa - dzięki za odpowiedź ale nie musisz reagować tak jakby sami debile tu prosili o pomoc... każdy ma prawo czegoś nie wiedziec ... a jak robisz taką łachę z odpisaniem to po co na forum siedzisz
koniec tematu
rydzek12 napisał(a)
Losowa nazwa - dzięki za odpowiedź ale nie musisz reagować tak jakby sami debile tu prosili o pomoc... każdy ma prawo czegoś nie wiedziec ... a jak robisz taką łachę z odpisaniem to po co na forum siedzisz
koniec tematu
Zgadzam się z Tobą w 100%, że masz prawo czegoś nie wiedzieć, jednak forum to ostateczność, najpierw jest myślenie i tu się zgodzę ze sobą w 100%.
Wiesz już jak te okienko zrobić?
Proponuję użyć funkcji CreateMessageDialog, np.
Uses Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
//....
private
{ Private declarations }
Procedure ChBoxOnClick(Sender: TObject); //procedura do obsługi kliknięcia CheckBox-a
public
{ Public declarations }
end;
Var
ChBox: TCheckbox;
Procedure Dialog_z_CheckBox(Komunikat, Naglowek, CaptionCheckBoxa: String; TypDialogu:TMsgDlgType; PrzyciskiPaska: TBorderIcons; Przyciski:TMsgDlgButtons; Var ModalRezultat: TModalResult; Var Checked: Boolean);
Var
Dlg : TForm;
Begin
Dlg:=CreateMessageDialog(Komunikat, TypDialogu, Przyciski); //utworzenie okna dialogu
Dlg.Caption:=Naglowek; //ustawienie opisu okna dialogu
Dlg.BorderIcons:=PrzyciskiPaska; //ustawienie przycisków na pasku okna (biMinimize, biMaximize, biSystemMenu, biHelp)
Dlg.Height:=130; //wysokość okna
Dlg.ActiveControl:=TButton(Dlg.FindComponent('No')); //aktywny przycisk
TImage(Dlg.FindComponent('Image')).Picture.Assign(Application.Icon); //ikonka na dialogu
TButton(Dlg.FindComponent('Yes')).Caption := 'Przycisk1'; //wymuszenie zmiany captiona przycisku 'Yes' na 'Przycisk1'
TButton(Dlg.FindComponent('No')).Caption := 'Przycisk2'; //j.w.
TButton(Dlg.FindComponent('Yes')).Top:=70; //ustawienie pozycji przycisku
TButton(Dlg.FindComponent('No')).Top:=70; //j.w.
ChBox:=TCheckBox.Create(Dlg); //utworzenie CheckBoxa
ChBox.Parent:=Dlg; //przypisanie rodzica CheckBox-owi
ChBox.Caption:=CaptionCheckBoxa; // nadanie captiona CherckBox-owi
ChBox.Left:=(Dlg.Width-ChBox.Width) div 2; //ustawienie CheckBoxa po środku w poziomie
ChBox.Top:=40; //ustawienie w pionie
ChBox.Checked:=Checked; //przypisanie początkowego ustawienia checkboxa
ChBox.OnClick:=Form1.ChBoxOnClick; //przypisanie procedury obsługującej zdarzenie kliknięcia CheckBoxa
Dlg.ShowModal; //pokazanie dialogu
//----------------------------- akcje po zamknięciu dialogu ------------------------
ModalRezultat:=Dlg.ModalResult; //przypisanie rezultatu wyboru przycisku
Checked:=ChBox.Checked; //przypisanie rezultatu zaznaczenia checkboxa
ChBox.Free; //zwolnienie obiektów z pamięci
Dlg.Free;
end;
Procedure TForm1.ChBoxOnClick(Sender: TObject); //obsługa kliknięcia CheckBox-a
Begin
If ChBox.Checked then Showmessage('Zaznaczyłeś CheckBoxa')
else Showmessage('Odznaczyłeś CheckBoxa');
End;
//------------- przykład użycia ----------------------------
procedure TForm1.Button1Click(Sender: TObject);
Var
ModalRezultat: TModalResult;
Checked: Boolean;
begin
Checked:=false; //początkowe ustawienie CheckBoxa
Dialog_z_CheckBox('Czy na pewno chcesz coś tam coś tam?','Pytanie', 'Nie pytaj więcej', mtConfirmation, [biSystemMenu, biHelp], [mbYes, mbNo], ModalRezultat, Checked);
If Checked then Showmessage('CheckBox zaznaczony')
else Showmessage('CheckBox nie zaznaczony');
Case ModalRezultat of
mrYes: Showmessage('Wybrano Przycisk1');
mrNo: Showmessage('Wybrano Przycisk2');
else Showmessage('Kliknięto krzyżyk');
End;
end;
//--------------
Pzdr.
Marogo