Al hacer doble clic en TStaticText en un formulario, se copia el título de ese TStaticText en el portapapeles. No es necesario hacer doble clic.haciendo doble clic en TStaticText en la aplicación Delphi XE2 copia el título en el portapapeles
Pasos para reproducir:
- Uso de la actualización Win 64 y Delphi XE2 4.
- Crear una VCL Formas de aplicación.
- Coloque un TEdit en el formulario.
- Coloque un TStaticText en el formulario. Cambie el título a "TStaticText1Caption"
- Coloque un segundo TStaticText en el formulario. Cambiar título a "TStaticText2Caption"
- Ejecutar programa (F9)
- Escriba texto en el TEdit. Selecciónelo todo y cópielo mediante CTRL + C.
- Borre el texto en el TEdit. Pégalo para verificar que el texto sea lo que copiaste.
- Borre el texto en el TEdit.
- Haga doble clic en TStaticText.
- Pega el texto en TEdit. Observe que no es el texto original copiado, sino el título de TStaticText.
Ya he enviado un informe de error a Embarcadero.
Intenté asignar un evento de doble clic a los TStaticTexts. Todavía copia el título al portapapeles aunque ejecuta el evento de doble clic.
procedure TForm1.StaticText1DblClick(Sender: TObject);
begin
Edit1.Text := 'Hello';
end;
procedure TForm1.StaticText2DblClick(Sender: TObject);
begin
Edit1.Text := 'World';
end;
Esto no ocurre con TLabel o cualquier otro control de VCL que he probado.
Tenemos muchos TStaticTexts en nuestros formularios con fines de diseño visual y cambiar a TLabels no es una opción.
¿Alguien tiene alguna idea sobre cómo evitar que esto suceda?
De acuerdo con el artículo al que se ha vinculado, existe una alternativa: "si desea desactivar la función * doble clic para copiar * en un control estático' SS_NOTIFY', debe subclasificar el control estático y comer los clics tú mismo." –
Sí, esa es una opción válida también. – RRUZ
Agradezco la respuesta. Supongo que es un cambio interno de cómo se crean los controles de VCL con Delphi más nuevo en comparación con Delphi más antiguo. Nos hemos encontrado con muchos pequeños problemas al convertir de Delphi 6 a XE2. Tendremos que encontrar una alternativa donde esto causaría un problema. –