Kilka pytań do...

0
  1. Czy można programowo włączać i wyłączać mozliwość edycji siatki tekstowej StringGrid np. wciskając guzik. Wykombinowałem coś takiego:
    StringGrid1.Options:=[goEditing];
    Co prawda działa, ale wtedy znikają linie przedzieljące komórki w siatce SG i robi się z niej biały kwadrat. No i nie można podobnym sposobem wyłaczyć możliowści edycji. Pewnie jest jakaś procedurka, której po prostu nie znam.

  2. Czy można tworzyć dynamicznie formy, no i oczywiście komponenty na nich? Wtedy nie wiadomo jakiego rodzica by trzeba tym formom przypisać.

  3. W procedurze OnClose dla formy jest zmienna Action typu TCloseAction. Co mozna podstawiać pod tę zmienną Action?

Dziękuję z góry za dpowiedź na te trzy pytanka natury teoretycznej. :-)

0

Nie znam odpowiedzi na pierwsze, ale co do pozostałych pytań to...

9mateuszp napisał(a)
  1. Czy można tworzyć dynamicznie formy, no i oczywiście komponenty na nich? Wtedy nie wiadomo jakiego rodzica by trzeba tym formom przypisać.

Nie wiem w czym masz problem. Przecież podajesz jako Parenta tę formatkę.
Chyba chodzi Tobie o coś takiego poniżej. Ewentualnie też nadawać Formtace
należy sensowny Name - a później można się odwołać przez FindComponent.

var
  Frm : TForm;
  Btn : TButton;
begin
  Frm := TForm.Create(Application);
  Btn := TButton.Create(Frm);
  Btn.Parent := Frm;
  Btn.Caption := 'Cosik';
  Btn.Name := 'Przycisk1';
  Frm.ShowModal
end;
  1. W procedurze OnClose dla formy jest zmienna Action typu TCloseAction. Co mozna podstawiać pod tę zmienną Action?
    </quote>
    Ja polecam raczej używać OnCloseQuery, ale zarowno to jak wszystkie zdarzenia
    i typy dostępne standardowo w Delphi są opisane w Helpie, a ów Help mówi, że:

Description

TCloseAction consists of the following values:

Value Meaning

caNone The form is not allowed to close, so nothing happens.
caHide The form is not closed, but just hidden. Your application can still access a hidden form.
caFree The form is closed and all allocated memory for the form is freed.
caMinimize The form is minimized, rather than closed.

0

a co do pierwszego, to w [ ... ] podajesz wartosci ze zbioru. Wiec samo goEditing powoduje, ze "wylaczasz" wszystkie inne opcje. Musisz je takze podac albo zmodyfikowac tylko jedna z nich (operacje na zbiorach).

0

AD1.
włączamy edycję:

SG.Options := SG.Options + [goEditing];

wyłączamy edycję:

SG.Options := SG.Options - [goEditing];
0

Dziekuje wszystkim za odpowiedzi. Trochę wzbogaciłem swoją niezbyt dużą wiedzę o programowaniu w Delphi. :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1