Share via


Esempio DOCKTOOL: barre degli strumenti ancorabili

Aggiornamento: novembre 2007

Nell'esempio DOCKTOOL viene illustrato il supporto per le barre degli strumenti ancorabili. Una barra degli strumenti ancorabile può essere collegata, o ancorata, a qualsiasi lato della finestra padre oppure può essere scollegata e quindi resa mobile all'interno della propria mini finestra cornice utilizzando CMiniFrameWnd.

Nota sulla sicurezza:

Questo esempio di codice viene fornito solo a scopo dimostrativo e non deve essere utilizzato in applicazioni o siti Web, poiché potrebbe non implementare le tecniche migliori a livello di sicurezza. Microsoft esclude ogni responsabilità per danni diretti o indiretti derivanti dall'utilizzo dell'esempio di codice per scopi diversi da quelli previsti.

Per ottenere gli esempi e le istruzioni per l'installazione:

  • In Visual Studio scegliere Esempi dal menu ?.

    Per ulteriori informazioni, vedere Individuazione dei file di esempio.

  • La versione più recente e l'elenco completo degli esempi sono disponibili in linea alla pagina Visual Studio 2008 Samples.

  • È anche possibile trovare gli esempi sul disco rigido del computer. Per impostazione predefinita, gli esempi e il file Leggimi vengono copiati in una cartella nel percorso \Programmi\Visual Studio 9.0\Samples\. Per le versioni Express di Visual Studio, tutti gli esempi sono disponibili in linea.

Generazione ed esecuzione dell'esempio

Per generare ed eseguire l'esempio DOCKTOOL

  1. Aprire il file di soluzione docktool.sln.

  2. Scegliere Genera dal menu Genera.

  3. Scegliere Avvia senza eseguire debug dal menu Debug.

Supporto per le barre degli strumenti ancorabili

Le tre operazioni riportate di seguito sono necessarie per inserire una barra degli strumenti ancorabile in un'applicazione:

  1. Attivare l'ancoraggio per la finestra cornice, o destinazione, utilizzando la funzione CFrameWnd::EnableDocking. Il lato della finestra cornice in cui è possibile eseguire l'ancoraggio è indicato dal parametro DWORD. Per impostare l'ancoraggio delle barre di controllo in qualsiasi punto, passare CBRS_ALIGN_ANY a EnableDocking.

  2. Attivare l'ancoraggio per la barra degli strumenti, o origine, chiamando CControlBar::EnableDocking per ciascuna barra degli strumenti. Specificare i lati di destinazione a cui dovrà essere ancorata la barra degli strumenti. Se nessuno dei lati indicati corrisponde ai lati attivati per l'ancoraggio nella finestra cornice, la barra degli strumenti non potrà essere ancorata e rimarrà mobile. Le barre degli strumenti mobili rimangono tali e non possono essere ancorate alla finestra cornice.

  3. Per ancorare la barra degli strumenti alla finestra cornice chiamare CFrameWnd::DockControlBar. Chiamare invece CFrameWnd::FloatControlBar per scollegare una barra degli strumenti ancorabile dalla finestra cornice.

Se non vengono eseguite tutte le operazioni elencate, nell'applicazione verrà visualizzata una barra degli strumenti standard. Le ultime due operazioni devono essere eseguite per ciascuna barra degli strumenti ancorabile dell'applicazione.

Per mantenere lo stato delle barre degli strumenti ancorabili, ancorate o mobili, tra le diverse sessioni dell'applicazione, utilizzare le funzioni CControlBar::SetBarStyle e CControlBar::GetBarStyle per recuperare e ripristinare le impostazioni di una particolare barra di controllo. In genere, queste informazioni vengono memorizzate nel file INI dell'applicazione utilizzando CFrameWnd::SaveBarState e vengono recuperate utilizzando CFrameWnd::LoadBarState.

Parole chiave

Nell'esempio vengono illustrate le seguenti parole chiave:

AfxGetApp; CArchive::IsStoring; CComboBox::Create; CComboBox::DeleteString; CComboBox::GetCount; CComboBox::InsertString; CComboBox::SetCurSel; CControlBar::GetBarStyle; CControlBar::SetBarStyle; CDialog::DoModal; CDocument::OnNewDocument; CFrameWnd::Create; CFrameWnd::DockControlBar; CFrameWnd::EnableDocking; CFrameWnd::LoadBarState; CFrameWnd::RecalcLayout; CFrameWnd::SaveBarState; CMenu::GetSubMenu; CMenu::LoadMenu; CMenu::TrackPopupMenu; CObject::AssertValid; CObject::Dump; CObject::Serialize; CRect::OffsetRect; CString::IsEmpty; CToolBar::Create; CToolBar::GetItemRect; CToolBar::LoadBitmap; CToolBar::SetButtonInfo; CToolBar::SetButtons; CView::GetDocument; CView::OnDraw; CWinApp::AddDocTemplate; CWinApp::InitInstance; CWinApp::LoadStdProfileSettings; CWinApp::OnFileNew; CWnd::ClientToScreen; CWnd::DoDataExchange; CWnd::FromHandlePermanent; CWnd::GetParentFrame; CWnd::GetStyle; CWnd::GetWindowPlacement; CWnd::GetWindowRect; CWnd::GetWindowText; CWnd::Invalidate; CWnd::IsZoomed; CWnd::OnClose; CWnd::OnCreate; CWnd::PreTranslateMessage; CWnd::SendMessage; CWnd::SetWindowPlacement; CWnd::SetWindowPos; CWnd::SetWindowText; CWnd::ShowWindow; GetProfileInt; GetProfileString; GetStockObject; HIWORD; LOWORD; LoadBitmap; WriteProfileString; wsprintf

Nota:

Alcuni esempi, tra cui il presente, non sono stati cambiati per riflettere le modifiche apportate alle procedure guidate, alle librerie e al compilatore di Visual C++, tuttavia forniscono comunque le istruzioni per completare l'attività desiderata.

Vedere anche

Altre risorse

Esempi relativi ad MFC