2010-02-26 20 views
5

He estado alejado de C++ durante un par de años y ahora estoy haciendo AS3/Flex. Me he acostumbrado a poder crear un componente y colocarlo en modo de diseño con muy poco alboroto y estoy luchando para entender la forma en C++ Builder de hacer lo mismo.¿Cómo puedo diseñar visualmente un componente en C++ Builder?

He escrito muchos componentes para C++ Builder en el pasado, pero ninguno de ellos ha sido visual. Lo que me gustaría hacer ahora es crear un componente para la búsqueda de clientes y otro para el procesamiento de pedidos porque quiero poder crear una nueva instancia sobre la marcha. Lo que no quiero hacer es colocar cada uno de los componentes como el dbgrid y los campos de búsqueda manualmente en el código. Me gustaría hacer esto (así como establecer sus propiedades) en modo de diseño.

¿Cómo puedo hacer esto? He buscado la fuente de otros componentes de Delphi y veo que tienen archivos dfm que parece ser lo que necesito. ¿Cómo hago esto en C++ Builder? La única opción que veo es agregar un nuevo formulario si quiero un dfm, pero esto no es lo que quiero, ya que mis componentes se basarán en TPanel.

¿Hay alguna manera de hacer esto o tengo que recurrir a hacerlo todo en código sin referencia visual?

Prosiguiendo con la idea de DFM Hice una prueba esta mañana en la que creé un componente basado en TPanel y le agregué un nuevo formulario que creé y crié en el constructor del componente. En el modo de diseño, establecí el borde del formulario en none y coloqué una grilla sobre él. Todo se ve bien hasta que coloque el componente en mi aplicación, en ese punto se ve como un panel con una forma de aspecto estándar y falta la grilla. Si ejecuto la aplicación, el panel se muestra como se esperaba, sin bordes y con una cuadrícula. El DFM parece ser ignorado en el modo de diseño por alguna razón.

Si conoce una forma mejor de hacer esto que usar componentes, por favor deme algunos consejos.

Cualquier ayuda y consejo será apreciado allá de las palabras

Respuesta

4

Es posible que desee echar un vistazo a frames (busque "objetos Frame"). Son "subformularios" que puede diseñar visualmente y luego colocar en formularios.

+0

¡perfecto! gracias :) –

4

Así como un elemento FYI, también puede caer el panel en un formulario, poner cualquier otro control sobre el mismo, la posición de ellos, establecer subtítulos, etc ..

Ahora, haga clic en el panel para seleccionarlo, y use Component-> Create Component Template del menú principal del IDE. Esto crea una unidad que puede instalar como un componente que agregará el panel y sus subcontroles (como un componente único) a la paleta de componentes del IDE.

Por supuesto, puede modificar la fuente de ese nuevo componente como cualquier otra fuente de componente.

+0

¿Esto realmente crea una unidad? –

+0

es bueno saberlo, lo intentaré, gracias Ken –

+0

@Ulrich: Sí. De hecho, crea un componente compuesto que puede instalar en la paleta de componentes. –

Cuestiones relacionadas