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à
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