Casa
Top.Mail.Ru Yandeks.Metrika
Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

abajo

¿Por qué no funciona este simple código ... Encontrar ramas similares


Kost   (2001-12-15 13:06) [0]

Hay una forma TForm1. En ella se coloca el "botón experimental" BitBtn1.
Hay un deseo, haciendo clic en otro botón - Button1 para hacer lo siguiente:
- dibujar una imagen BitBtn1 en un lienzo de mapa de bits de lienzo utilizando PaintTo
- traiga el mapa de bits resultante al contorno del formulario

NO RECOMENDADO! BitBtn1 no se dibuja en el mapa de bits! Por que ¿Dónde no tengo razón?

procedimiento TForm1.FormCreate (Sender: TObject);
comenzar
// Crear un mapa de bits
bmp: = TBitmap.Create;
bmp.Width: = 150;
bmp.Height: = 150;
fin;

procedimiento TForm1.Button1Click (Sender: TObject);
comenzar
// Al hacer clic en el botón, dibuje BitBtn1 en el mapa de bits del lienzo
BitBtn1.PaintTo (bmp.Canvas.Handle, 0, 0);
Invalidar // Para hacer que el formulario sea redibujado
fin;

procedimiento TForm1.FormPaint (Sender: TObject);
comenzar
// Mostrar formularios de mapa de bits
Canvas.Draw (0,0, bmp);
fin;



Song   (2001-12-15 22:18) [1]

Y por que eres tu
1) pintar lienzo utilizando PaintTo? Puede establecer directamente el glifo a través de Canvas.Draw - esto será más correcto.
2) ¿volver a dibujar el formulario? solo necesita volver a dibujar el control que ha actualizado, es decir,
o bien
Con BitBtn1 Do
Comenzar
UpDate;
Invalidar
End;

o simplemente BitBtn1.RePaint;



Kost   (2001-12-16 12:25) [2]

Con este ejemplo, quería mostrar que en un mapa de bits (más precisamente en un mapa de bits de lienzo) es imposible pintar TBitBtn (o TButton) utilizando PaintTo.
WinControl tiene tal función miembro
WinControl.PaintTo (DC: HDC; X, Y: entero)
Con la ayuda de los cuales, aparentemente, es posible dibujar la imagen de wincontrol en cualquier lienzo. Intenté dibujar una imagen de botón (TBitBtn) en el lienzo de mapa de bits. Falla La investigación realizada con otros WinControls, por ejemplo, resulta que con TPanel. La imagen del panel puede transferirse al mapa de bits utilizando PaintTo. Imagen TBitBtn, repito, por alguna razón, esta función no dibuja el mapa de bits.
Es decir Esta función para diferentes obras de WinControl es como un dios para el alma puesto.



Song   (2001-12-16 22:31) [3]

Creo que todo el problema no está en PaintTo, pero en DC (tipo HDC), no se indica correctamente en el caso de TBitBtn, es decir, el sistema devuelve un identificador incorrecto al botón del botón: ((



Páginas: 1 rama entera

Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

arriba





Memoria: 0.55 MB
Tiempo: 0.022 c
14-22410
fint
2001-11-08 15:10
2002.01.08
Intentar


1-22265
Ser_Kham1
2001-12-17 16:10
2002.01.08
Cuadro de lista


1-22250
Dmitry D.
2001-12-17 13:28
2002.01.08
Más bien una pregunta matemática ...


3-21918
SVS
2001-12-04 13:11
2002.01.08
Relleno en OleContainer de BlobField


3-21935
pelo
2001-12-03 15:12
2002.01.08
Almacenamiento de datos





africaans albanés Arabic armenio Azerbaiyán vasco Bielorruso Bulgarian Catalán Chino (simplificado) Chino (tradicional) Croata Checo Danés Dutch Inglés Estonia filipina Finnish French
gallego georgiano Alemán Griego criollo haitiano Hebreo hindi Húngaro islandés Indonesian irlandés Italiano Japonés Korean letón lituano macedonio Malay maltés Noruego
persa polaco Portuguese Rumano Ruso Serbio Slovak Esloveno Español swahili Sueco Thai turco ucranio Urdu vietnamita galés yídish bengalí bosnio
cebuano esperanto gujarati hausa hmong igbo javanés kannada khmer lao latín maorí marathi mongol nepali punjabi somalí Tamil telugu yoruba
zulú
Английский Francés Alemán Italiano portugués Русский Español