• Download demo project - 22 Kb
  • Download source files - 5 Kb

    Sample Image - controls_pager.gif

    The class CCJPagerCtrl is fairly simple to use. It can be used in either a dialog or view. For demo purposes, I implemented it in a dialog using a CToolBar, but you can use any control or view class as the child window. Open your dialog in your resource editor and add a custom control. Modify the properties of the control as shown below:

    A pager control wrapper class_第1张图片

    In the OnInitDialog() section, add the following code:

    // TODO: Add extra initialization here
    if( !m_wndToolBar.Create(&m_Pager) ||
    	!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
    	{
    		TRACE0("Failed to create toolbar\n");
    		return -1;      // fail to create
    	}
    	
    	// Make the toolbar flat.
    	m_wndToolBar.ModifyStyle(0, 0x0800);
    	
    	// Set the child HWND.
    	m_Pager.SetChild(m_wndToolBar.m_hWnd);
    	
    	// Set the pager style to PGS_HORZ.
    	m_Pager.ModifyStyle(0,PGS_HORZ);
    	
    	// Set the button size to 15.
    	m_Pager.SetButtonSize(15);
    	
    	// Determine size of child
    	SIZE Size;
    	m_wndToolBar.SendMessage(TB_GETMAXSIZE,0,(LPARAM)&Size);
    	
    	// Set the scroll area for pager.
    	m_Pager.SetScrollArea(Size.cx+15, Size.cy+15);
    

    NOTE:

    If you are using Visual C++ 5, you will need to include the support file comm_control.h in your project, unless you have installed the SDK, in which case you won't need this. If you have any questions, feel free to drop me a line.