21
Generale / Re:pannello con stringgrid e due pulsanti si attiva, ma sparisce subito
« Ultimo post da petrusic il Aprile 10, 2024, 04:58:28 pm »In ogni caso, se devi visualizzare o meno un componente grafico usa la sua proprietà "VISIBLE". Se il componente è un contenitore (come ad esempio un pannello) tutto ciò che è contenuto viene nascosto se la "VISIBLE" del contenitore è "FALSE".No, il problema non è quello.
Io vorrei che , dopo la visualizzazione del Panel3 dentro cui si trova, compilata la StringGrid da controllare, il programma si fermazze in attesa della successiva scelkta dell'utente..
Nel Panel3, oltre la StringGrid sono presenti altri due pulsanti di cui il primo ha la proprietà TabStop= True e la proprietà TabOrder= 0. É il pulsante a cui cedo il focus:
Codice: [Seleziona]
Form9.Panel3.Visible:= True;
Sleep(200); // Attendi 200 millesecondi (= 1/5 di secondo)
Application.ProcessMessages;
Form9.BPulsNoAmmort.SetFocus;
Diversamente da quanto da me atteso, l'esecuzione del programma va avanti, come se fosse stato dato il click sul pulsante. Viene perciò scatenato l'evento BPulsNoStampClick, a torto, secondo me, e viene eseguito il codice contenuto nella procedura relativa:
Codice: [Seleziona]
procedure TForm9.BPulsNoAmmortClick(Sender: TObject);
begin
WriteLn('procedure TForm9.BPulsNoAmmortClick');
Close;
end;
La mia domanda, allora è: Come faccio a fermare l'esecuzione del programma subito dopo la presentazione alla vista del Panel3 con la StringGrid da leggere e controllare, prima di scegliere come proseguire?
Spero di essermi spiegato meglio ora.