Cómo aprender codejock toolkitpro
1. Asegúrate de haber instalado XTP.
2. Modificar el directorio: Herramientas/Opciones/Directorio
1
Incluir archivos: D: Microsoft Visual StudioXtreme ToolkitPro v11.2.2Source
2
archivos de bibliotecas: D: Microsoft Visual Studio
4. Agregue: #include lt; XTToolkitPro.hgt;
5. En el archivo Dialog.h, cambie el lugar donde se define Dialog a:
1
#define CDialogSampleDlgBase CXTPDialogBaselt;CXTResizeDialoggt;
2
clase CCardManageDlg: CDialogSampleDlgBase pública{
3
p >público:
4
. . .
5
}
6, donde se implementa el constructor Dialog se cambia a:
1
CCardManageDlg::CCardManageDlg(CWnd* pParent /*=NULL*/)
2
: CDialogSampleDlgBase(CCardManageDlg::IDD, pParent)
3 p>
{. . .
4
}
7. En la implementación del constructor de diálogo, preconfigurado:
1
XTPSkinManager ()-gt; SetApplyOptions(XTPSkinManager()-gt; GetApplyOptions() | xtpSkinApplyMetrics); //Esta oración debe estar presente,
2
_T("Office2007. cjstyles")); //Esta oración es para establecer un estilo. Office2007.cjstyles es el nombre del archivo de estilo que debe copiarse.
8, agregue variables:
1
BOOL m_bInRepositionControls, m_bInitDone
2
CRect m_rcBorders;
Se utiliza en los pasos 9 y 10 para restablecer la posición y el tamaño del componente.
9. Agregar en initdialog:
1
VERIFY(InitCommandBars()); //Banda XTP, preprocesamiento, esencial.
CXTPCommandBars* pCommandBars = GetCommandBars(); //CXTPCommandBars administra la BARRA DE HERRAMIENTAS, el menú y el estado.
/***Comenzar a agregar menú***/
01
pCommandBars-gt;SetMenu(_T("Barra de menú"), IDR_MENU1);
02
CXTPToolBar* pToolBar = pCommandBars-gt;Add( _T("Estándar"), xtpBarTop);
03
pToolBar-gt(IDR_MAINFRAME);
04
05;
06
XTPImageManager()-gt;SetIcons(IDR_MAINFRAME);//Icono
07
08
09
pCommandBars-gt; GetCommandBarsOptions()-gt; ShowKeyboardCues(xtpKeyboardCuesShowWindowsDefault);
10
pCommandBars-gt; GetToolTipContext()-gt; SetStyle(xtpToolTipOffice);
11
//pCommandBars-gt; GetShortcutManager()-gt; SetAccelerators(IDR_ACCELERATOR); //Teclas de acceso directo
12
13
14
LoadCommandBars(_T("CommandBars"));//XTP debe
/****Lo siguiente es resolver MENÚ y BARRA DE HERRAMIENTAS La dislocación causada por vuelve a disparar iterativamente todos los subcomponentes******/
01
CWnd* pwndChild = GetWindow(GW_CHILD);
02
mientras (pwndChild)
03
{
04
SetResize(pwndChild-gt;GetDlgCtrlID ( ), SZ_TOP_LEFT, CXTResizePoint(0, 0));
05
//0, 0 no significa escala horizontal ni vertical.
06
pwndChild = pwndChild-gt; GetNextWindow()
07
}
08
09
10
m_bInitDone = TRUE;
11
RepositionControls(); //Restablecer el componente Para conocer la posición y el tamaño, consulte 10.
12
13
14
m_szMin = m_szWindow;
15
AutoLoadPlacement(_T("Placement"));
10, implemente RepositionControls(); //Restablece la posición y el tamaño del componente, cópialo directamente sin mirarlo. .
01
void CCardManageDlg::RepositionControls()
02
{
03
if (m_bInRepositionControls || !m_bInitDone)
04
retorno;
05
06
07
CRect rcClientStart;
08
CRect rcClientNow;
09
GetClientRect(rcClientStart);
10
11
12
if ((GetStyle() y WS_MINIMIZE) || (rcClientStart.IsRectEmpty()) )
13
retorno;
14
15
16
m_bInRepositionControls = TRUE;
17
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0, reposQuery, rcClientNow);
18
CRect rcBorders(rcClientNow) .left - rcClientStart.left, rcClientNow.top - rcClientStart.top, rcClientStart.right - rcClientNow.right, rcClientStart.bottom - rcClientNow.bottom);
19
20 p> p>
21
if (rcBorders != m_rcBorders)
22
{
23
CPoint ptOffset(rcBorders.left - m_rcBorders.left, rcBorders.top - m_rcBorders.top);
24
CSize szOffset(rcBorders.left rcBorders.right - m_rcBorders. izquierda - m_rcBorders.right,
25
rcBorders.top rcBorders.bottom - m_rcBorders.top - m_rcBorders.bottom
26
<); p> 27CRect rcWindow;
28
GetWindowRect(rcWindow);
29
rcWindow. InferiorDerecha( ) = szOffset;
30
31
Desplazamiento(ptOffset);
32
m_szWindow = szDesplazamiento ;
33
<p> m_szMin = szOffset;
34
35
MoveWindow(rcWindow, TRUE);
36
}
37
38
39
m_rcBorders = rcBorders;
40
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
41
m_bInRepositionControls = FALSE;
42
}
11. Cómo agregar la barra de estado:
Variable de la barra de estado: CXTPStatusBar m_wndStatusBar;
Agregar en ONinitdialog:
1
if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicadores, tamañode(indicadores)/tamañode(UINT)))
2
{
3
TRACE0("Error al crear el granero de estado");
4
return -1; // no se pudo crear
5
}
6
7
8
m_wndStatusBar.SetPaneInfo(0, ID_SEPARATOR , SBPS_STRETCH, 100);
Llame a m_wndStatusBar.SetWindowText(lpsz) en el lugar apropiado para configurar el texto que se mostrará
/***Lea la siguiente oración cuando tenga tiempo; * */
1
LRESULTADO CDialogSampleDlg::OnKickIdle(WPARAM, LPARAM)
2
{
3
if (GetCommandBars())
4
GetCommandBars()-gt; UpdateCommandBars();
5 p >
if (m_wndStatusBar.GetSafeHwnd())
6
m_wndStatusBar.SendMessage(WM_IDLEUPDATECMDUI, TRUE);
7
return 0;
8
}
Uso mínimo:
1. Añadir:
1. Agregue al archivo stdafx.h:
p>
1
#include lt;XTToolkitPro.hgt;
2. p>
1
XTPSkinManager()-gt; LoadSkin(_T("Office2007.cjstyles"));
3. use máscaras, use la siguiente declaración para forzar el uso de máscaras
p>1
XTPSkinMa
nager()-gt;ApplyWindow(myCtrl-gt;m_hWnd);