Article View: es.comp.os.ms-windows.programacion
Article #83Re: Cómo utilizar CToolBar en dialogo???
From: José Peñalba Morales
Date: Wed, 31 May 2000 00:00
Date: Wed, 31 May 2000 00:00
62 lines
3372 bytes
3372 bytes
David Domngz escribi�:
> Saludos
>
> intengo utilizar una CToolBar en un dialogo (deriva de CDialog), pero
> sin exito. Compila y ejecuta bien, pero no aparece la barra.
>
> El dialogo es no modal y es hijo de la vista principal. La CToolBar la
> defino como miembro del dialogo. Hago el Create y el LoadToolBar en el
> OnInitDialog (tambien prov� enel constructor), pero �sta no aparece.
> Tambien he probado asignando la propiedad visible en el create, aunque
> �sta est� "por defecto", segun el help.
>
> En la ayuda se d� a entender que se suele utilizar la CToolBar en el
> MainFrame, pero no dice nada sobre dialogos, aunque tampoco dice que no
> se puede...
>
> Alguien me puede indicar?
> Gracias,
>
> David-
Bien, te voy a decir lo que hice yo. Puse una barra de di�logo en una
ventana hija en una aplicaci�n MDI. No utilic� CToolBar sino CDialogBar,
tambi�n como miembro (eso si en la clase marco, la que deriva de
CMDIChildWnd). Cre� un di�logo con el editor y se lo pas� como par�metro al
constructor (en el m�todo OnCreate). Esta fue la l�nea (InfoBar es la barra
en cuesti�n):
InfoBar.Create(this,IDD_INFOBAR,CBRS_BOTTOM,ID_VIEW_INFO_BAR)
Luego hay que inicializar unas cuantas cosas:
// Introducimos sus caracteristicas
InfoBar.SetBarStyle(CBRS_ALIGN_BOTTOM); // La barra de di�logo s�lo se
podr� engancharse en la
// parte inferior del marco
InfoBar.EnableDocking(CBRS_ALIGN_BOTTOM); // Permitimos a la barra de
di�logo engancharse
EnableDocking(CBRS_ALIGN_BOTTOM); // Hacemos que el marco permita que se
enganche la barra de
// di�logo
DockControlBar(&InfoBar,AFX_IDW_DOCKBAR_BOTTOM); // Finalmente
enganchamos
Al crear el di�logo puedes poner botones, etiquetas, cajas de texto, cajas
combo y no he probado m�s. Los mensajes con estos
controles debes asociarlos a la clase marco, aunque el wizard te avise de
que no es una clase di�logo, ni puto caso. En VC5 esto me daba un problema,
los mensajes s�lo aparec�an la primera vez que asociabas el di�logo,
despu�s no aparecian m�s (en VC++ 6 parece que est� solucionado). Por si
acaso yo lo que hac�a era cargarme el fichero .clw del proyecto y volver a
asociar los mensajes.
Espero que te ayude y espero que entiendas algo, porque no se mucho de VC++
y encima hace tiempo que no lo utilizo.
Saludos
Jos� Pe�alba Morales
josepm@mail.com
Technical Details
Message-ID:
<3934675D.66D421AE@mail.com>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<392C58CF.D59E99CB@wanadoo.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f53ec,b8f401f66648a77c X-Google-Attributes: gidf53ec,public X-Google-Thread: 10d088,b8f401f66648a77c X-Google-Attributes: gid10d088,public From: José Peñalba Morales <josepm@mail.com> Subject: Re: Cómo utilizar CToolBar en dialogo??? Date: 2000/05/31 Message-ID: <3934675D.66D421AE@mail.com> X-Deja-AN: 629262990 Content-Transfer-Encoding: 8bit References: <392C58CF.D59E99CB@wanadoo.es> X-Original-NNTP-Posting-Host: cm02166.telecable.es X-Accept-Language: es Content-Type: text/plain; charset=iso-8859-1 X-Complaints-To: abuse@bt.es X-Trace: titan.bt.es 959734837 29152 212.89.0.4 (31 May 2000 01:00:37 GMT) Organization: BT Tel. Netnews service (readers) Mime-Version: 1.0 NNTP-Posting-Date: 31 May 2000 01:00:37 GMT Newsgroups: es.comp.os.ms-windows.programacion,es.comp.lenguajes.c++