Note
Struttura
Applicazioni MFC
Gestione Avanzata
Claudio Rocchini
Interazione Uomo Macchina
Come si fa per…
Non far apparire il documento vuoto alla partenza dell’applicazione?
Nelle applicazioni tipo visualizzatore il documento vuoto di default non deve essere aperto (inoltre e’ utile cancellare la voce di menu’ File-new ).
Come si fa per …
Nel file application.cpp sostituire:
if (!ProcessShellCommand(cmdInfo))
return FALSE;
con
if(cmdInfo.m_nShellCommand!=
     CCommandLineInfo::FileNew)
{
if (!ProcessShellCommand(cmdInfo))
return FALSE;
}
Come si fa per…
Fare in modo che le finestre documento appaiono massimizzate?
La moda corrente impone di aprire le finestre documento massimizzate e non overlapped come e’ invece di default.
Come si fa per..
Bisogna specificare l’opzione durante la creazione del progetto (Dialogo del class wizard).
Se ce ne siamo dimenticati, basta creare un progetto simile con le opzioni desiderate e fare poi il diff dei file per vedere cosa e’ cambiato (windiff).
Come si fa per…
Far apparire il dialogo per la scelta delle directory?
CFileDialog crea il dialogo standard per la scelta di un file. Talvolta e’ utile invece il dialogo per la scelta di una directory.
Come si fa per…
// Scelta directory
BROWSEINFO bi;
LPITEMIDLIST p;
char buf[MAX_PATH];
bi.hwndOwner      = m_hWnd;
bi.pidlRoot       = NULL;
bi.pszDisplayName = buf;
bi.lpszTitle      = "Chiappa la directory";
bi.ulFlags        = 0;
bi.lpfn = NULL;
bi.lParam   = NULL;
bi.iImage   = NULL;
Come si fa per…
// La vera funzione e’:
p = SHBrowseForFolder(&bi);
if(p!=NULL)
{
SHGetPathFromIDList( p,buf );
m_wdir = buf;
}
Come si fa per…
Fare in modo che l’applicazione apra i file con il drag & drop.
Nel file application.cpp, funzione initinstance, aggiungere:
…
m_pMainWnd->DragAcceptFiles();