• Miércoles 17 de Abril de 2024, 01:43

Autor Tema:  Modificacion De Ventanas E íconos  (Leído 2791 veces)

jojobax_

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Modificacion De Ventanas E íconos
« en: Miércoles 9 de Abril de 2008, 03:13 »
0
Hoy vi que un usuario posteo hace un tiempo como hacer para personalizar las ventanas, pero al bajar su ejemplo, este no funciono con mi borland 4. Mi pregunta es: es necesario usar skins o programas externos a borland o se puede hacer esto con un codigo ( para borland 4 )?

también necesito personalizar mis botones, los botones de los combobox, menúes, etc.  ( lo que sea posible ).

gracias, espero sus respuestas

el_shanky

  • Miembro MUY activo
  • ***
  • Mensajes: 177
    • Ver Perfil
Re: Modificacion De Ventanas E íconos
« Respuesta #1 en: Miércoles 23 de Abril de 2008, 17:43 »
0
Recien me fijé el post al que hacias referencia y es muy interesante!

Entonces... deduciendo si el chabón pudo para el borland 6 y le pasó el codigo al otro para el borland 1 OBVIAMENTE podes ahcerlo en el 4...

Ahora con respecto a los botones hay otro consejo muy bueno en otro post donde te dice que uses un TImage y le pongas las imagenes del boton y el codigo que queres que haga lo pones en el evento OnClick!  (el segudno estado del boton lo podes poner en el evento OnMouseUp)

Nunca habia necesitado mejorar estéticamente nada pero ahora que los prové y andadn de 10... los voy a tener en cuenta para proximas aplicaciones

Ahora... Tmb existen packs de objetos que se integran al Broland para mejorar esteticamente nustyras aplicaciones... El tema s que son pagas... Pero.. te dejan usarlas! :o

fijate... http://www.sunisoft.com/

Spero que te ayude! salute
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook



http://www.maxcode.com.ar

http://www.shanky.com.ar

jojobax_

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Re: Modificacion De Ventanas E íconos
« Respuesta #2 en: Jueves 24 de Abril de 2008, 21:23 »
0
gracias, lo de las imágenes lo hago asi.
lo que no puedo ver es el ejemplo que el pibe dio, porque lo compilo con el borland 6. y el codigo que puso lo entiendo a medias.

vos que sos una maza por favor pasame como usar el codigo o un ejemplo  con un borland mas viejo.

millones de gracias

el_shanky

  • Miembro MUY activo
  • ***
  • Mensajes: 177
    • Ver Perfil
Re: Modificacion De Ventanas E íconos
« Respuesta #3 en: Viernes 25 de Abril de 2008, 22:35 »
0
Es que lo que el flaco puso es una funcion que ahce todo esto (lo cual no me puse a deducir x que no hay ganas...):

Código: Text
  1.  
  2. void BitmapToRgn(TForm *form, TImage *img)
  3. {
  4.    form->BorderStyle = bsNone;
  5.  
  6.    Graphics::TBitmap *bmp =
  7.        dynamic_cast< Graphics::TBitmap* >( img->Picture->Bitmap );
  8.  
  9.    form->SetBounds( form->Left, form->Top, bmp->Width, bmp->Height );
  10.    img->SetBounds( 0, 0, bmp->Width, bmp->Height );
  11.    form->Brush->Bitmap = bmp;
  12.  
  13.    int tamanyoImagen = bmp->Width * bmp->Height * 4;
  14.    std::auto_ptr< BITMAPINFO > lpbmi( new BITMAPINFO );
  15.    std::auto_ptr< BYTE > bits( new BYTE[tamanyoImagen] );
  16.  
  17.    ZeroMemory( lpbmi.get(), sizeof(BITMAPINFO) );
  18.    lpbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
  19.    lpbmi->bmiHeader.biWidth = bmp->Width;
  20.    lpbmi->bmiHeader.biHeight = bmp->Height;
  21.    lpbmi->bmiHeader.biPlanes = 1;
  22.    lpbmi->bmiHeader.biBitCount = 32;
  23.    lpbmi->bmiHeader.biCompression = BI_RGB;
  24.    lpbmi->bmiHeader.biSizeImage = tamanyoImagen;
  25.  
  26.    GetDIBits( bmp->Canvas->Handle, bmp->Handle, 0, bmp->Height,
  27.        bits.get(), lpbmi.get(), DIB_RGB_COLORS );
  28.  
  29.    DWORD colorTransparente = reinterpret_cast<DWORD*>
  30.        ( bits.get() )[ bmp->Width * (bmp->Height-1) ];
  31.  
  32.    HRGN rgn = CreateRectRgn( 0, 0, form->Width, form->Height );
  33.    HRGN rgnTemp = CreateRectRgn( 0, 0, form->Width, form->Height );
  34.    CombineRgn( rgn, rgn, rgnTemp, RGN_DIFF );
  35.    DeleteObject( rgnTemp );
  36.    for (int y=0; y < bmp->Height; ++y)
  37.    {
  38.        DWORD *pixel = &reinterpret_cast<DWORD*>
  39.            ( bits.get() )[ bmp->Width * (bmp->Height - 1 - y) ];
  40.        int ancho = 0;
  41.  
  42.        for (int x=0; x <= bmp->Width; ++x)
  43.        {
  44.            if ( x != bmp->Width && pixel[x] != colorTransparente )
  45.                ancho++;
  46.            else
  47.                if ( ancho > 0 )
  48.                {
  49.                    rgnTemp = CreateRectRgn( x - ancho, y, x, y + 1 );
  50.                    CombineRgn( rgn, rgn, rgnTemp, RGN_OR );
  51.                    DeleteObject( rgnTemp );
  52.                    ancho = 0;
  53.                }
  54.        }
  55.    }
  56.    SetWindowRgn( form->Handle, rgn, true );
  57.    DeleteObject( rgn );
  58. }
  59.  
  60.  

Y despues la llama a esa misma función con un __fastcall inmediatamente abajo!

Código: Text
  1.  
  2.  
  3. __fastcall TForm1::TForm1(TComponent* Owner)
  4.         : TForm(Owner)
  5. {
  6.   BitmapToRgn( this, Image1 );
  7. }
  8.  
  9.  

=> prová copiarlas y ponerlas en tu .CPP junto con el
Código: Text
  1. #include <memory>
  2.  


y fijate que error te tira! a mi me anda de 10!

Salute despues me, decis...
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook



http://www.maxcode.com.ar

http://www.shanky.com.ar

jojobax_

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Re: Modificacion De Ventanas E íconos
« Respuesta #4 en: Sábado 26 de Abril de 2008, 21:01 »
0
disculpa que te joda tanto, pero no podrias mandarme en un zip o como quieras el cpp o un ejemplo con su exe??

mil gracias de nuevo. espero tu respuesta.

el_shanky

  • Miembro MUY activo
  • ***
  • Mensajes: 177
    • Ver Perfil
Re: Modificacion De Ventanas E íconos
« Respuesta #5 en: Sábado 26 de Abril de 2008, 21:38 »
0
jajaj pero el del flaco lo provaste? lo intentaste compilar?

Sinó prová el mio... igual adentro tiene un exe que es el programa x si no lo pudiste compilar...

http://rapidshare.com/files/110626773/Apli...Custom.rar.html

Queda muy bueno!
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook



http://www.maxcode.com.ar

http://www.shanky.com.ar

jojobax_

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Re: Modificacion De Ventanas E íconos
« Respuesta #6 en: Sábado 26 de Abril de 2008, 22:06 »
0
que genio, lo subiste y todo!
muchas gracias, lamento decirte que cuando quiero ejecutar el exe me dice:

Project1.exe - No se puede encontrar el componente

Error al iniciar la aplicación porque no se encontró vcl60.bpl. La reinstalación de la aplicación puede solucionar el problema.

y cuando quiero abrir el cpp dice "Project rule not found"

baje el bpl pero no funciona igual (uso borland 4).
gracias de todos modos

************

Edit:
Proba con esto ( me habia olvidado ):
En el menu del borland vas a Project / Options / Linker y destildas el checkbox "Use dynamic RTL"
Ahora vas a la pestaña Packages y destildas "Buil with runtime packages"

Suerte, gracias de nuevo

el_shanky

  • Miembro MUY activo
  • ***
  • Mensajes: 177
    • Ver Perfil
Re: Modificacion De Ventanas E íconos
« Respuesta #7 en: Domingo 27 de Abril de 2008, 03:08 »
0
sisi no lo compilé con las respectivas librerías, me olvidé.

Lo importante s que tenes el .cpp apra ver como sta hecho! Fijate eso!!!! así lo metes en tu aplicación! intentaste copiar el codigo y pegarlo???

Intentaste abrir el .bpr con el borland 4?
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook



http://www.maxcode.com.ar

http://www.shanky.com.ar

jojobax_

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Re: Modificacion De Ventanas E íconos
« Respuesta #8 en: Domingo 27 de Abril de 2008, 12:50 »
0
claro shanky, ahi es donde me tira el "Project rule not found"

gracias de nuevo por responder

el_shanky

  • Miembro MUY activo
  • ***
  • Mensajes: 177
    • Ver Perfil
Re: Modificacion De Ventanas E íconos
« Respuesta #9 en: Domingo 27 de Abril de 2008, 23:25 »
0
ok!

prová el codigo en tu aplicación y decime que errores tira
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook



http://www.maxcode.com.ar

http://www.shanky.com.ar

jojobax_

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Re: Modificacion De Ventanas E íconos
« Respuesta #10 en: Lunes 28 de Abril de 2008, 00:18 »
0
perdon pero lo que no entiendo es como llamar a la funcion, que pasarle como parametros....

solo pude ver tu .h y vi que hiciste una clase, si es muy complicado, largo o enquilombado, no lo hago. era solo para darle un detalle mas al programa.

gacias de nuevo.
chauss