Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-11-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Establecer botón activo

Sé que será una tontería que seguro ya he hecho pero no soy capaz de recordar como.

Tengo este formulario que se crea de forma dinámica tanto el mensaje como los botones.

Los botones (TButton) se van añadiendo al formulario de derecha a izquierda. Ahí va la pregunta:

Como el objeto TButton no tiene el método SetFocus(), ¿Cómo hago para que el botón activo sea el último creado, el de más a la izquierda?
Responder Con Cita
  #2  
Antiguo 24-11-2016
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Angel.Matilla Ver Mensaje
Como el objeto TButton no tiene el método SetFocus(),
¿Por qué dices esto? TButton sí tiene ese método

LineComment Saludos
Responder Con Cita
  #3  
Antiguo 24-11-2016
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
En todo caso, podrías intentar con la propiedad ActiveControl del formulario.

LineComment Saludos
Responder Con Cita
  #4  
Antiguo 24-11-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Hasta donde yo se y como comenta roman, TButton al ser un TWinControl deberia tener su metodo SetFocus

SetFocus si no me falla la memoria esta implementado mas o menos asi, usando la API de Windows:

Código PHP:
  SendMessage(Handle o HWND del ButtonWM_SETFOCUS00); 
Responder Con Cita
  #5  
Antiguo 25-11-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Si para mostrar el mensaje estas usando un formulario personalizado, podes hacer una función dentro del mismo que devuelva el botón que se encuentra mas a la izquierda y, despues de creados los botones, usarla para darle el foco:
Código PHP:
TButton__fastcall TMyFormMessage::mostLeftButtonvoid )
{
  
TButton *tb;
  
int mostLeft ClientWidth;

  for ( 
int i 0ControlCounti++ )
    if ( 
Controls[i]->ClassNameIs("TButton") )
      if ( 
Controls[i]->Left mostLeft )
         
tb static_cast<TButton*>(Controls[i]);

  return 
tb;
}

void __fastcall TMyFormMessage:: ...
{

  
/* En este punto los botones deberían estar creados  */

  
MostLeftButton()->SetFocus();
... 
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 25-11-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Gracias por las respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
BB.DD. FB: Establecer valor por defecto Angel.Matilla Firebird e Interbase 2 09-04-2016 10:40:35
Establecer Márgenes DElayed Varios 5 26-02-2015 22:56:52
Establecer mi programa de 1024x768 mantraxer21 Varios 3 18-02-2011 17:03:46
Establecer a nulo un parámetro efelix Conexión con bases de datos 8 28-10-2006 16:18:59
establecer una impresora Rafa Impresión 1 18-10-2003 00:24:54


La franja horaria es GMT +2. Ahora son las 09:49:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi