OK, questo dovrebbe essere facile, ma non trovo la soluzione, almeno non nel not so good documentation .. In un TTaskDialog
, hai la possibilità di aggiungere un check-box. È possibile controllare il suo stato iniziale tramite il flag tfVerificationFlagChecked
in Flags
. Ma come ottenere lo stato dopo che la finestra di dialogo è stata Execute
d?Come verificare se la casella di controllo è spuntata in un Delphi TTaskDialog?
Ovviamente è possibile utilizzare l'evento OnVerificationClicked
e alternare una variabile locale, inizialmente uguale allo stato iniziale della casella di controllo, su ogni chiamata. Ma ci si aspetterebbe una soluzione più naturale.
La documentazione ufficiale, a proposito, è pessima. Prendi questo ad esempio: http://docwiki.embarcadero.com/VCL/en/Dialogs.TCustomTaskDialog.URL Non spiegano nemmeno * cosa * URL questo è. Non è ovvio che ci sia un URL associato a ogni finestra di dialogo delle attività. E qui (http://docwiki.embarcadero.com/VCL/en/Dialogs.TCustomTaskDialog.Execute) si dimenticano di spiegare cosa significa il risultato (booleano) della funzione! –
Hai il codice sorgente, giusto? Cerca dove viene utilizzata la funzione API di dialogo. Dovrebbe chiamare TaskDialogIndirect. Il quarto parametro è ciò che alla fine riceverà il valore della casella di controllo, quindi cosa fa il codice? –
@Rob Kennedy: Sì, l'API di Windows è molto ben documentata, quindi questa è (sempre) una buona idea. Sto cercando ora ... –