Condividi tramite


Classe CPagerCtrl

La classe CPagerCtrl esegue il wrapping del controllo pager di Windows, che può scorrere all'interno della visualizzazione una finestra contenuta che non rientra nella finestra contenitore.

Sintassi

class CPagerCtrl : public CWnd

Membri

Costruttori pubblici

Nome Descrizione
CPagerCtrl::CPagerCtrl Costruisce un oggetto CPagerCtrl.

Metodi pubblici

Nome Descrizione
CPagerCtrl::Create Crea un controllo cercapersone con gli stili specificati e lo associa all'oggetto corrente CPagerCtrl .
CPagerCtrl::CreateEx Crea un controllo cercapersone con gli stili estesi specificati e lo associa all'oggetto corrente CPagerCtrl .
CPagerCtrl::ForwardMouse Abilita o disabilita l'inoltro dei messaggi WM_MOUSEMOVE alla finestra contenuta nel controllo pager corrente.
CPagerCtrl::GetBkColor Recupera il colore di sfondo del controllo cercapersone corrente.
CPagerCtrl::GetBorder Recupera le dimensioni del bordo del controllo pager corrente.
CPagerCtrl::GetButtonSize Recupera le dimensioni del pulsante del controllo cercapersone corrente.
CPagerCtrl::GetButtonState Recupera lo stato del pulsante specificato nel controllo cercapersone corrente.
CPagerCtrl::GetDropTarget Recupera l'interfaccia IDropTarget per il controllo pager corrente.
CPagerCtrl::GetScrollPos Recupera la posizione di scorrimento del controllo cercapersone corrente.
CPagerCtrl::IsButtonDepressed Indica se il pulsante specificato del controllo cercapersone corrente è in pressed stato.
CPagerCtrl::IsButtonGrayed Indica se il pulsante specificato del controllo cercapersone corrente è in grayed stato.
CPagerCtrl::IsButtonHot Indica se il pulsante specificato del controllo cercapersone corrente è in hot stato.
CPagerCtrl::IsButtonInvisible Indica se il pulsante specificato del controllo cercapersone corrente è in invisible stato.
CPagerCtrl::IsButtonNormal Indica se il pulsante specificato del controllo cercapersone corrente è in normal stato.
CPagerCtrl::RecalcSize Fa in modo che il controllo cercapersone corrente ricalcola le dimensioni della finestra contenuta.
CPagerCtrl::SetBkColor Imposta il colore di sfondo del controllo cercapersone corrente.
CPagerCtrl::SetBorder Imposta le dimensioni del bordo del controllo cercapersone corrente.
CPagerCtrl::SetButtonSize Imposta le dimensioni del pulsante del controllo cercapersone corrente.
CPagerCtrl::SetChild Imposta la finestra contenuta per il controllo cercapersone corrente.
CPagerCtrl::SetScrollPos Imposta la posizione di scorrimento del controllo cercapersone corrente.

Osservazioni:

Un controllo cercapersone è una finestra contenente un'altra finestra che è lineare e più grande della finestra contenitore e consente di scorrere la finestra contenuta nella visualizzazione. Il controllo cercapersone visualizza due pulsanti di scorrimento che scompaiono automaticamente quando la finestra contenuta viene scorrere fino all'estensione più lontana e riapparire in caso contrario. È possibile creare un controllo cercapersone che scorre orizzontalmente o verticalmente.

Ad esempio, se l'applicazione dispone di una barra degli strumenti insufficiente per visualizzare tutti gli elementi, è possibile assegnare la barra degli strumenti a un controllo cercapersone e gli utenti potranno scorrere la barra degli strumenti a sinistra o a destra per accedere a tutti gli elementi. Microsoft Internet Explorer versione 4.0 (commctrl.dll versione 4.71) introduce il controllo cercapersone.

La CPagerCtrl classe è derivata dalla classe CWnd . Per altre informazioni e un'illustrazione di un controllo cercapersone, vedere Controlli pager.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CPagerCtrl

Requisiti

Intestazione: afxcmn.h

CPagerCtrl::CPagerCtrl

Costruisce un oggetto CPagerCtrl.

CPagerCtrl();

Osservazioni:

Utilizzare il metodo CPagerCtrl::Create o CPagerCtrl::CreateEx per creare un controllo cercapersone e collegarlo all'oggetto CPagerCtrl .

CPagerCtrl::Create

Crea un controllo cercapersone con gli stili specificati e lo associa all'oggetto corrente CPagerCtrl .

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parametri

dwStyle
[in] Combinazione bit per bit (OR) degli stili di finestra e degli stili di controllo cercapersone da applicare al controllo.

rect
[in] Riferimento a una struttura RECT che contiene la posizione e le dimensioni del controllo nelle coordinate client.

pParentWnd
[in] Puntatore a un oggetto CWnd che rappresenta la finestra padre del controllo. Questo parametro non può essere NULL.

nID
[in] ID del controllo.

Valore restituito

TRUE se questo metodo ha esito positivo; in caso contrario, FALSE.

Osservazioni:

Per creare un controllo cercapersone, dichiarare una CPagerCtrl variabile, quindi chiamare il metodo CPagerCtrl::Create o CPagerCtrl::CreateEx su tale variabile.

Esempio

Nell'esempio seguente viene creato un controllo cercapersone, quindi viene utilizzato il metodo CPagerCtrl::SetChild per associare un controllo pulsante molto lungo al controllo cercapersone. Nell'esempio viene quindi utilizzato il metodo CPagerCtrl::SetButtonSize per impostare l'altezza del controllo cercapersone su 20 pixel e il metodo CPagerCtrl::SetBorder per impostare lo spessore del bordo su 1 pixel.

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl::CreateEx

Crea un controllo cercapersone con gli stili estesi specificati e lo associa all'oggetto corrente CPagerCtrl .

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parametri

dwExStyle
[in] Combinazione bit per bit di stili estesi da applicare al controllo. Per altre informazioni, vedere il parametro dwExStyle della funzione CreateWindowEx .

dwStyle
[in] Combinazione bit per bit (OR) degli stili di finestra e degli stili di controllo cercapersone da applicare al controllo.

rect
[in] Riferimento a una struttura RECT che contiene la posizione e le dimensioni del controllo nelle coordinate client.

pParentWnd
[in] Puntatore a un oggetto CWnd che rappresenta la finestra padre del controllo. Questo parametro non può essere NULL.

nID
[in] ID del controllo.

Valore restituito

TRUE se questo metodo ha esito positivo; in caso contrario, FALSE.

Osservazioni:

Per creare un controllo cercapersone, dichiarare una CPagerCtrl variabile, quindi chiamare il metodo CPagerCtrl::Create o CPagerCtrl::CreateEx su tale variabile.

CPagerCtrl::ForwardMouse

Abilita o disabilita l'inoltro dei messaggi WM_MOUSEMOVE alla finestra contenuta nel controllo pager corrente.

void ForwardMouse(BOOL bForward);

Parametri

bForward
[in] TRUE per inoltrare i messaggi del mouse o FALSE per non inoltrare i messaggi del mouse.

Osservazioni:

Questo metodo invia il messaggio PGM_FORWARDMOUSE , descritto in Windows SDK.

CPagerCtrl::GetBorder

Recupera le dimensioni del bordo del controllo pager corrente.

int GetBorder() const;

Valore restituito

Dimensione del bordo corrente, misurata in pixel.

Osservazioni:

Questo metodo invia il messaggio PGM_GETBORDER , descritto in Windows SDK.

Esempio

Nell'esempio seguente viene utilizzato il metodo CPagerCtrl::GetBorder per recuperare lo spessore del bordo del controllo cercapersone.

void CCSplitButton_s2Dlg::OnXBorder()
{
   int borderSize = m_pager.GetBorder();
   CString str;
   str.Format(_T("The border is %d pixel(s) thick."), borderSize);
   MessageBox(str);
}

CPagerCtrl::GetBkColor

Recupera il colore di sfondo del controllo cercapersone corrente.

COLORREF GetBkColor() const;

Valore restituito

Valore COLORREF che contiene il colore di sfondo corrente del controllo cercapersone.

Osservazioni:

Questo metodo invia il messaggio di PGM_GETBKCOLOR , descritto in Windows SDK.

Esempio

Nell'esempio seguente viene utilizzato il metodo CPagerCtrl::SetBkColor per impostare il colore di sfondo del controllo pager su rosso e il metodo CPagerCtrl::GetBkColor per verificare che sia stata apportata la modifica.

void CCSplitButton_s2Dlg::OnXColor()
{
   COLORREF originalColor;
   //  Set color to red.
   originalColor = m_pager.SetBkColor(RGB(255, 0, 0));
   if (m_pager.GetBkColor() != RGB(255, 0, 0))
   {
      MessageBox(_T("Control did not return RED as the previous color."));
   }
   // The following statement is one way to restore the color.
   // m_pager.SetBkColor( originalColor );
}

CPagerCtrl::GetButtonSize

Recupera le dimensioni del pulsante del controllo cercapersone corrente.

int GetButtonSize() const;

Valore restituito

Dimensione del pulsante corrente, misurata in pixel.

Osservazioni:

Questo metodo invia il messaggio di PGM_GETBUTTONSIZE , descritto in Windows SDK.

Se il controllo cercapersone ha lo stile PGS_HORZ, la dimensione del pulsante determina la larghezza dei pulsanti del cercapersone e se il controllo cercapersone ha lo stile PGS_VERT, la dimensione del pulsante determina l'altezza dei pulsanti del cercapersone. Per altre informazioni, vedere Stili di controllo Cercapersone.

CPagerCtrl::GetButtonState

Recupera lo stato del pulsante di scorrimento specificato nel controllo cercapersone corrente.

DWORD GetButtonState(int iButton) const;

Parametri

iButton
[in] Indica il pulsante per il quale viene recuperato lo stato. Se lo stile del controllo cercapersone è PGS_HORZ, specificare PGB_TOPORLEFT per il pulsante sinistro e PGB_BOTTOMORRIGHT per il pulsante destro. Se lo stile del controllo cercapersone è PGS_VERT, specificare PGB_TOPORLEFT per il pulsante superiore e PGB_BOTTOMORRIGHT per il pulsante inferiore. Per altre informazioni, vedere Stili di controllo Cercapersone.

Valore restituito

Stato del pulsante specificato dal parametro iButton . Lo stato è PGF_INVISIBLE, PGF_NORMAL, PGF_GRAYED, PGF_DEPRESSED o PGF_HOT. Per altre informazioni, vedere la sezione Valore restituito del messaggio di PGM_GETBUTTONSTATE .

Osservazioni:

Questo metodo invia il messaggio PGM_GETBUTTONSTATE , descritto in Windows SDK.

CPagerCtrl::GetDropTarget

Recupera l'interfaccia IDropTarget per il controllo pager corrente.

IDropTarget* GetDropTarget() const;

Valore restituito

Puntatore all'interfaccia IDropTarget per il controllo cercapersone corrente.

Osservazioni:

IDropTarget è una delle interfacce implementate per supportare le operazioni di trascinamento della selezione nell'applicazione.

Questo metodo invia il messaggio di PGM_GETDROPTARGET , descritto in Windows SDK. Il chiamante di questo metodo è responsabile della chiamata del Release membro dell'interfaccia IDropTarget quando l'interfaccia non è più necessaria.

CPagerCtrl::GetScrollPos

Recupera la posizione di scorrimento del controllo cercapersone corrente.

int GetScrollPos() const;

Valore restituito

Posizione di scorrimento corrente, misurata in pixel.

Osservazioni:

Questo metodo invia il messaggio di PGM_GETPOS , descritto in Windows SDK.

Esempio

Nell'esempio seguente viene utilizzato il metodo CPagerCtrl::GetScrollPos per recuperare la posizione di scorrimento corrente del controllo cercapersone. Se il controllo cercapersone non è già stato eseguito lo scorrimento verso zero, la posizione più a sinistra viene utilizzata dal metodo CPagerCtrl::SetScrollPos per impostare la posizione di scorrimento su zero.

void CCSplitButton_s2Dlg::OnXScrollposition()
{
   int pos;
   CString str;
   pos = m_pager.GetScrollPos();
   if (pos != 0)
      m_pager.SetScrollPos(0);
   str.Format(_T("Old position = %d; new position = 0"), pos);
   MessageBox(str);
}

CPagerCtrl::IsButtonDepressed

Indica se il pulsante di scorrimento specificato del controllo cercapersone corrente è premuto.

BOOL IsButtonDepressed(int iButton) const;

Parametri

iButton
[in] Indica il pulsante per il quale viene recuperato lo stato. Se lo stile del controllo cercapersone è PGS_HORZ, specificare PGB_TOPORLEFT per il pulsante sinistro e PGB_BOTTOMORRIGHT per il pulsante destro. Se lo stile del controllo cercapersone è PGS_VERT, specificare PGB_TOPORLEFT per il pulsante superiore e PGB_BOTTOMORRIGHT per il pulsante inferiore. Per altre informazioni, vedere Stili di controllo Cercapersone.

Valore restituito

TRUE se il pulsante specificato è premuto; in caso contrario, FALSE.

Osservazioni:

Questo metodo invia il messaggio PGM_GETBUTTONSTATE , descritto in Windows SDK. Verifica quindi se lo stato restituito è PGF_DEPRESSED. Per altre informazioni, vedere la sezione Valore restituito del messaggio di PGM_GETBUTTONSTATE .

CPagerCtrl::IsButtonGrayed

Indica se il pulsante di scorrimento specificato del controllo cercapersone corrente è in stato di grigio.

BOOL IsButtonGrayed(int iButton) const;

Parametri

iButton
[in] Indica il pulsante per il quale viene recuperato lo stato. Se lo stile del controllo cercapersone è PGS_HORZ, specificare PGB_TOPORLEFT per il pulsante sinistro e PGB_BOTTOMORRIGHT per il pulsante destro. Se lo stile del controllo cercapersone è PGS_VERT, specificare PGB_TOPORLEFT per il pulsante superiore e PGB_BOTTOMORRIGHT per il pulsante inferiore. Per altre informazioni, vedere Stili di controllo Cercapersone.

Valore restituito

TRUE se il pulsante specificato è in stato di grigio; in caso contrario, FALSE.

Osservazioni:

Questo metodo invia il messaggio PGM_GETBUTTONSTATE , descritto in Windows SDK. Verifica quindi se lo stato restituito è PGF_GRAYED. Per altre informazioni, vedere la sezione Valore restituito del messaggio di PGM_GETBUTTONSTATE .

CPagerCtrl::IsButtonHot

Indica se il pulsante di scorrimento specificato del controllo pager corrente è in stato attivo.

BOOL IsButtonHot(int iButton) const;

Parametri

iButton
[in] Indica il pulsante per il quale viene recuperato lo stato. Se lo stile del controllo cercapersone è PGS_HORZ, specificare PGB_TOPORLEFT per il pulsante sinistro e PGB_BOTTOMORRIGHT per il pulsante destro. Se lo stile del controllo cercapersone è PGS_VERT, specificare PGB_TOPORLEFT per il pulsante superiore e PGB_BOTTOMORRIGHT per il pulsante inferiore. Per altre informazioni, vedere Stili di controllo Cercapersone.

Valore restituito

TRUE se il pulsante specificato è in stato attivo; in caso contrario, FALSE.

Osservazioni:

Questo metodo invia il messaggio PGM_GETBUTTONSTATE , descritto in Windows SDK. Verifica quindi se lo stato restituito è PGF_HOT. Per altre informazioni, vedere la sezione Valore restituito del messaggio di PGM_GETBUTTONSTATE .

CPagerCtrl::IsButtonInvisible

Indica se il pulsante di scorrimento specificato del controllo cercapersone corrente è in stato invisibile.

BOOL IsButtonInvisible(int iButton) const;

Parametri

iButton
[in] Indica il pulsante per il quale viene recuperato lo stato. Se lo stile del controllo cercapersone è PGS_HORZ, specificare PGB_TOPORLEFT per il pulsante sinistro e PGB_BOTTOMORRIGHT per il pulsante destro. Se lo stile del controllo cercapersone è PGS_VERT, specificare PGB_TOPORLEFT per il pulsante superiore e PGB_BOTTOMORRIGHT per il pulsante inferiore. Per altre informazioni, vedere Stili di controllo Cercapersone.

Valore restituito

TRUE se il pulsante specificato è in stato invisibile; in caso contrario, FALSE.

Osservazioni:

Windows rende invisibile il pulsante di scorrimento in una particolare direzione quando la finestra contenuta viene scorrere fino all'estensione più lontana perché facendo clic sul pulsante ulteriormente non è possibile visualizzare più della finestra contenuta.

Questo metodo invia il messaggio PGM_GETBUTTONSTATE , descritto in Windows SDK. Verifica quindi se lo stato restituito è PGF_INVISIBLE. Per altre informazioni, vedere la sezione Valore restituito del messaggio di PGM_GETBUTTONSTATE .

Esempio

Nell'esempio seguente viene utilizzato il metodo CPagerCtrl::IsButtonInvisible per determinare se i pulsanti di scorrimento sinistro e destro del controllo cercapersone sono visibili.


void CCSplitButton_s2Dlg::OnXIsbuttoninvisible()
{
   BOOL bLeft = m_pager.IsButtonInvisible(PGB_TOPORLEFT);
   BOOL bRight = m_pager.IsButtonInvisible(PGB_BOTTOMORRIGHT);
   CString str;
   str.Format(_T("The left button is%s visible; the right button is%s visible."),
              (bLeft ? _T(" not") : _T("")),
              (bRight ? _T(" not") : _T("")));
   MessageBox(str);
}

CPagerCtrl::IsButtonNormal

Indica se il pulsante di scorrimento specificato del controllo cercapersone corrente è nello stato normale.

BOOL IsButtonNormal(int iButton) const;

Parametri

iButton
[in] Indica il pulsante per il quale viene recuperato lo stato. Se lo stile del controllo cercapersone è PGS_HORZ, specificare PGB_TOPORLEFT per il pulsante sinistro e PGB_BOTTOMORRIGHT per il pulsante destro. Se lo stile del controllo cercapersone è PGS_VERT, specificare PGB_TOPORLEFT per il pulsante superiore e PGB_BOTTOMORRIGHT per il pulsante inferiore. Per altre informazioni, vedere Stili di controllo Cercapersone.

Valore restituito

TRUE se il pulsante specificato è in stato normale; in caso contrario, FALSE.

Osservazioni:

Questo metodo invia il messaggio PGM_GETBUTTONSTATE , descritto in Windows SDK. Verifica quindi se lo stato restituito è PGF_NORMAL. Per altre informazioni, vedere la sezione Valore restituito del messaggio di PGM_GETBUTTONSTATE .

CPagerCtrl::RecalcSize

Fa in modo che il controllo cercapersone corrente ricalcola le dimensioni della finestra contenuta.

void RecalcSize();

Osservazioni:

Questo metodo invia il messaggio di PGM_RECALCSIZE , descritto in Windows SDK. Di conseguenza, il controllo cercapersone invia la notifica PGN_CALCSIZE per ottenere le dimensioni scorrevoli della finestra contenuta.

Esempio 1

Nell'esempio seguente viene utilizzato il metodo CPagerCtrl::RecalcSize per richiedere al controllo cercapersone corrente di ricalcolare le dimensioni.

void CCSplitButton_s2Dlg::OnXRecalcsize()
{
   // If the child control changes size, call RecalcSize() to change
   // the size of the pager control accordingly.
   m_pager.RecalcSize();
   MessageBox(_T("The pager control size has been recalculated."));
}

Esempio 2

Nell'esempio seguente viene utilizzata la reflection del messaggio per consentire al controllo cercapersone di ricalcolare le proprie dimensioni anziché richiedere al dialogo padre del controllo di eseguire il calcolo. L'esempio deriva la MyPagerCtrl classe dalla classe CPagerCtrl, quindi usa una mappa messaggi per associare la notifica PGN_CALCSIZE al OnCalcsize gestore di notifica. In questo esempio, il gestore di notifica imposta la larghezza e l'altezza del controllo cercapersone su valori fissi.

BEGIN_MESSAGE_MAP(CMyPagerCtrl, CPagerCtrl)
ON_NOTIFY_REFLECT(PGN_CALCSIZE, &CMyPagerCtrl::OnCalcSize)
END_MESSAGE_MAP()

// CMyPagerCtrl message handlers
void CMyPagerCtrl::OnCalcSize(NMHDR *code, LRESULT *param)
{
   // If the control contained in the pager control changes size, use this
   // handler to change the size of the pager control accordingly.

   LPNMPGCALCSIZE tmp = (LPNMPGCALCSIZE)code;
   *param = 0;
   tmp->iWidth = 500;
   tmp->iHeight = 50;
}

CPagerCtrl::SetBkColor

Imposta il colore di sfondo del controllo cercapersone corrente.

COLORREF SetBkColor(COLORREF clrBk);

Parametri

clrBk
[in] Valore COLORREF che contiene il nuovo colore di sfondo del controllo cercapersone.

Valore restituito

Valore COLORREF che contiene il colore di sfondo precedente del controllo cercapersone.

Osservazioni:

Questo metodo invia il messaggio PGM_SETBKCOLOR , descritto in Windows SDK.

Esempio

Nell'esempio seguente viene utilizzato il metodo CPagerCtrl::SetBkColor per impostare il colore di sfondo del controllo pager su rosso e il metodo CPagerCtrl::GetBkColor per verificare che sia stata apportata la modifica.

void CCSplitButton_s2Dlg::OnXColor()
{
   COLORREF originalColor;
   //  Set color to red.
   originalColor = m_pager.SetBkColor(RGB(255, 0, 0));
   if (m_pager.GetBkColor() != RGB(255, 0, 0))
   {
      MessageBox(_T("Control did not return RED as the previous color."));
   }
   // The following statement is one way to restore the color.
   // m_pager.SetBkColor( originalColor );
}

CPagerCtrl::SetBorder

Imposta le dimensioni del bordo del controllo cercapersone corrente.

int SetBorder(int iBorder);

Parametri

iBorder
[in] Nuova dimensione del bordo, misurata in pixel. Se il parametro iBorder è negativo, la dimensione del bordo viene impostata su zero.

Valore restituito

Dimensione del bordo precedente, misurata in pixel.

Osservazioni:

Questo metodo invia il messaggio di PGM_SETBORDER , descritto in Windows SDK.

Esempio

Nell'esempio seguente viene creato un controllo cercapersone, quindi viene utilizzato il metodo CPagerCtrl::SetChild per associare un controllo pulsante molto lungo al controllo cercapersone. Nell'esempio viene quindi utilizzato il metodo CPagerCtrl::SetButtonSize per impostare l'altezza del controllo cercapersone su 20 pixel e il metodo CPagerCtrl::SetBorder per impostare lo spessore del bordo su 1 pixel.

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl::SetButtonSize

Imposta le dimensioni del pulsante del controllo cercapersone corrente.

int SetButtonSize(int iButtonSize);

Parametri

iButtonSize
[in] Dimensioni del nuovo pulsante, misurate in pixel.

Valore restituito

Dimensioni del pulsante precedente, misurate in pixel.

Osservazioni:

Questo metodo invia il messaggio di PGM_SETBUTTONSIZE , descritto in Windows SDK.

Se il controllo cercapersone ha lo stile PGS_HORZ, la dimensione del pulsante determina la larghezza dei pulsanti del cercapersone e se il controllo cercapersone ha lo stile PGS_VERT, la dimensione del pulsante determina l'altezza dei pulsanti del cercapersone. La dimensione predefinita del pulsante è di tre quarti della larghezza della barra di scorrimento e la dimensione minima del pulsante è di 12 pixel. Per altre informazioni, vedere Stili di controllo Cercapersone.

Esempio

Nell'esempio seguente viene creato un controllo cercapersone, quindi viene utilizzato il metodo CPagerCtrl::SetChild per associare un controllo pulsante molto lungo al controllo cercapersone. Nell'esempio viene quindi utilizzato il metodo CPagerCtrl::SetButtonSize per impostare l'altezza del controllo cercapersone su 20 pixel e il metodo CPagerCtrl::SetBorder per impostare lo spessore del bordo su 1 pixel.

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl::SetChild

Imposta la finestra contenuta per il controllo cercapersone corrente.

void SetChild(HWND hwndChild);

Parametri

hwndChild
[in] Handle per la finestra da contenere.

Osservazioni:

Questo metodo invia il messaggio di PGM_SETCHILD , descritto in Windows SDK.

Questo metodo non modifica l'elemento padre della finestra contenuta; assegna solo un handle di finestra al controllo cercapersone per lo scorrimento. Nella maggior parte dei casi, la finestra contenuta sarà una finestra figlio del controllo cercapersone.

Esempio

Nell'esempio seguente viene creato un controllo cercapersone, quindi viene utilizzato il metodo CPagerCtrl::SetChild per associare un controllo pulsante molto lungo al controllo cercapersone. Nell'esempio viene quindi utilizzato il metodo CPagerCtrl::SetButtonSize per impostare l'altezza del controllo cercapersone su 20 pixel e il metodo CPagerCtrl::SetBorder per impostare lo spessore del bordo su 1 pixel.

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl::SetScrollPos

Imposta la posizione di scorrimento del controllo cercapersone corrente.

void SetScrollPos(int iPos);

Parametri

iPos
[in] Nuova posizione di scorrimento, misurata in pixel.

Osservazioni:

Questo metodo invia il messaggio di PGM_SETPOS , descritto in Windows SDK.

Vedi anche

Classe CPagerCtrl
Grafico della gerarchia
Controlli cercapersone