🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.ms-windows.programacion
Article #83

Re: Cómo utilizar CToolBar en dialogo???

#83
From: José Peñalba Morales
Date: Wed, 31 May 2000 00:00
62 lines
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-mail
References: <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++