FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Texto cortado en MessageBox
Estimados, estoy desplegando un mensaje por pantalla utilizando Application.MessageBox, el tema es que el texto original se corta en 2 lineas, cuestión que no quiero que suceda. Investigando por ahí encontré que este es un comportamiento heredado del sistema operativo (win 7). Como puedo hacer para modificar este comportamiento.
Saludos. |
#2
|
||||
|
||||
Supongo que si recorres el texto como si fuese un array y buscas los caracteres "13" y /o "10" y los quitas, o los reemplazas por un espacio, debería funcionar.
__________________
La Madurez se llama... ~~~Gaia~~~ |
#3
|
||||
|
||||
doctorhd,
!!! Bienvenido al Club Delphi ¡¡¡ Cita:
El código anterior permite visualizar un Msg por pantalla sin ruptura de líneas con MessageDlg y ShowMessage. Revisa esta información: Cita:
Nelson. Última edición por nlsgarcia fecha: 08-04-2013 a las 17:24:52. |
#4
|
||||
|
||||
Estaría bien que enseñaras cómo estás mostrando (código) el texto y cómo se está viendo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Gracias a todos por sus respuestas y por la bienvenida. Respondiendo a:
Cita:
Cita:
Código:
. . const ConstNombreSistema: String = 'Sistema Prueba'; //Nombre sistema ConstVersionSistema: String = 'v1.0-2013'; //Version ConstNombreEmpresa: String ='Empresa Prueba'; //Empresa resourcestring MsgRutaBDNoEncontrada='La ruta de acceso de la base de datos del sistema no ha sido encontrada, deberá ingresarla manualmente. ¿Desea efectuar esta operación?'; Implementation Begin VarDescripcionSistema:= ConstNombreSistema + ' - ' + ConstVersionSistema + '...(' + ConstNombreEmpresa + ')';//Descripcion completa del sistema; //Se informa al usuario que debe ingresar la ruta manualmente If Application.MessageBox(PWideChar(MsgRutaBDNoEncontrada), PWideChar(VarDescripcionSistema + MsgControlError), MB_YESNO + MB_DEFBUTTON1 + MB_ICONEXCLAMATION) = IDNO Then Begin . . . End //If |
#6
|
||||
|
||||
Hola doctorhd.
Application.MessageBox encapsula la la funcion MessageBox. La cantidad de caracteres por línea que muestra está predeterminada por el S.O. (acorde a la versión) y realizará el salto de línea de forma automática. No es posible alterar ese comportamiento. En mi opinión, la solución que te resultará más versátil, es que realices tu propia función para presentar los mensajes; esto es muy sencillo de realizar usando un TForm mostrado de forma modal. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
|||
|
|||
ecfisa, estas seguro que no es posible modificar dicho comportamiento, mediando la misma API de Windows...
Saludos... |
#8
|
||||
|
||||
Hola doctorhd.
Cita:
En este enlace, aunque de forma indirecta se habla del tema: Max. no. of characters in a message... Y en este, al que hace referencia el anterior, hay un poco mas al respecto: MessageBox wrapping text... Si existe alguna forma indocumentada de alterar el algorítmo original para lograr otro comportamiento, la ignoro. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#9
|
||||
|
||||
doctorhd,
Te sugiero considerar la solución propuesta en el Msg #6, la cual se adapta a la solución buscada. Otra opción sería implementar mensajes mas sucintos, para lo cual podrías seguir usando cualquiera de las opciones de visualización de mensajes de Delphi. Espero sea útil Nelson. Última edición por nlsgarcia fecha: 09-04-2013 a las 00:25:40. |
#10
|
||||
|
||||
Cita:
Creo que mensajes similares a este tienen una presentación prolija y son lo suficientemente claros para el usuario. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 09-04-2013 a las 01:51:41. |
#11
|
||||
|
||||
Prueba un código como este, a ver si se acerca a lo que necesitas.
Un saludo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#12
|
||||
|
||||
El resultado es algo así:
Aunque sinceramente, casi veo mejor el que has puesto tú...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#13
|
||||
|
||||
Entendí la pregunta fatal...
Aunque, como dicen por aquí, lo que mejor veo es formatear el mensaje, claro que así no te vale la constante... Se puede hacer con varias constantes también, la parte de la pregunta, algo que va a ser muy estándar, puede ser una constante global por si misma. Saludos
__________________
La Madurez se llama... ~~~Gaia~~~ |
#14
|
||||
|
||||
+1
Hola doctorhd, no sé si hayas escuchado hablar de por qué el texto de los periódicos se imprime en columnas y no a todo lo ancho de la página: Cita:
|
#15
|
|||
|
|||
Gracias a todos por su ayuda, finalmente implemente mi propia función para enviar mensajes al usuario y aunque tienen razón en que estéticamente no es aconsejable mostrar mensajes extensos en solo una linea, quería tener mas control sobre como se mostraba dicha información al usuario.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Messagebox | bothy | Lazarus, FreePascal, Kylix, etc. | 4 | 03-03-2010 09:13:08 |
Colocar el texto que quieras en los botones de un MessageBox | advancexz | Gráficos | 1 | 30-01-2009 10:10:10 |
Messagebox | aanil | API de Windows | 6 | 09-04-2008 14:58:34 |
cambiar el estilo del texto de MessageBox? | Er_Manué | Varios | 1 | 16-12-2004 14:49:02 |
MessageBox | Michel | Varios | 3 | 19-08-2003 20:58:54 |
|