Red de conocimiento informático - Material del sitio web - Cómo agregar un cuadro de edición a la barra de herramientas de mfc

Cómo agregar un cuadro de edición a la barra de herramientas de mfc

Cree dos objetos en CMainFrame

CMFCToolBar m_myToolBar; //ToolBar

CComboBox m_comboList; //DropdownBox

Crear recurso de barra de herramientas IDR_MYTOOLBAR, uno de los identificadores de botón para ID_ BUTTONCOMBO

Agregar::OnCreate(LPCREATESTRUCT lpCreateStruct) en int CMainFrame, el código es el siguiente:

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

if (CFrameWndEx::OnCreate(lpCreateStruct) == -1)

return -1;

BOOL bNameValid;

/ / Establecer el Administrador visual y los estilos según los valores persistentes

OnApplicationLook(theApp.m_nAppLook)

RECT rect;

//Look Elemento de herramienta especificado

while(m_myToolBar.GetItemID(index)!=ID_BUTTONCOMBO)

index++;

//Establece el ancho del elemento de herramienta especificado y obtiene Nueva área con ancho 80

m_myToolBar.SetButtonInfo(index, ID_BUTTONCOMBO, TBBS_SEPARATOR, 60);

m_myToolBar.GetItemRect(index)!GetItemRect(index, &rect);

//Establecer posición

//rect.top += 2;

/rect.bottom += 200;

rect.left = 0 ;

rect.top = 2;

rect.right = 60;

rect.bottom = 200;

// Crear y muestra el control

if(!m_comboList.Create(WS_CHILD)Create(WS_CHILD|WS_VISIBLE|) CBS_AUTOHSCROLL| CBS_DROPDOWNLIST | CBS_HASSTRINGS, rect,

&m_myToolBar, ID_BUTTONCOMBO))

{

TRACE0("Error al crear el cuadro combinado\n");

Devuelve FALSO;

}

//Rellenar contenido

m_comboList.m_comboList.AddString("150%");

m_comboList.AddString("175%");

m_comboList.AddString("200%");

/Seleccione el elemento predeterminado

m_comboList.SetCurSel(3)SetCurSel(3);

m_comboList.ShowWindow ( SW_SHOW);

devuelve 0;

p>

}

Espero que esto ayude, ya hice esto antes pero lo olvidé, acabo de leer tu pregunta nuevamente y pasé mucho tiempo estudiándola. . . .