Jump to content


Photo

[RESUELTO] Kramer vs. Kramer (ActiveControl y TToolButton)


  • Please log in to reply
7 replies to this topic

#1 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1750 posts
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Posted 24 May 2010 - 10:33 AM

Buen día, compañeritos de DelphiAccess.

Les platico mi dilema. Tengo una pantalla que realiza varias acciones, y dentro de ésta, una serie de TToolButton's que ejecutan algunas acciones, y TEdit's y demás...

Uno de éstos TToolButton's CANCELA la edición de los TEdit's, lo cual es normal en cualquier ABC que se digne de ser llamado así. Yo estoy acostumbrado a algo como ésto en el OnExit de mi TEdit:



delphi
  1. procedure TfrmCapExt.edtClvMncExit(Sender: TObject);
  2. begin
  3.   if not (ActiveControl is TToolButton) then
  4.   begin
  5.     if edtClvMnc.Text <> '' then
  6.     begin
  7.       if FNgcMncps.VldrMncp(edtClvMnc.Text) then
  8.       begin
  9.         edtClvMnc.Color := NgcVldGnr.GetColorExit;
  10.         jvlkpedtCtlMnc.Text := FNgcMncps.DvlvrNmbrMncp(edtClvMnc.Text);
  11.         FNgcLcldds.CntrrLcldds(edtClvMnc.Text);
  12.       end
  13.       else
  14.       begin
  15.         Beep();
  16.         MessageDlg('No existe el Municipio en los catálogos. Verifique.', mtError, [mbOK], 0);
  17.         edtClvMnc.SetFocus;
  18.       end;
  19.     end;
  20.   end;
  21. end;



Pero como el TToolButton NO ES un control visual sino gráfico (TGraphicControl), obviamente la condición donde pruebo que se acaba de pulsar un TToolButton "truena" como chinampina.

¿Cómo podría evaluar el TToolButton para lograr el efecto deseado? Gracias de antemano por sus aportaciones.
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 24 May 2010 - 10:44 AM

Perdon amigo Felipe.mx no entendí que es lo que quieres hacer, ¿ porque truena como chinampina el TToolButton ?

Salud OS
  • 0

#3 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1750 posts
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Posted 24 May 2010 - 10:46 AM

Perdon amigo Felipe.mx no entendí que es lo que quieres hacer, ¿ porque truena como chinampina el TToolButton ?

Salud OS


Perdón, perdón, debí decir LA COMPILACIÓN..., es decir, en ésta línea

delphi
  1. if not (ActiveControl is TToolButton)



... la compilación la marca como error. Eso es lo que necesito solucionar...

Nuevamente, mil perdones.
  • 0

#4 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1750 posts
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Posted 24 May 2010 - 10:50 AM

... la compilación la marca como error. Eso es lo que necesito solucionar...


El error que me marca es éste:
[Error] ufrmCapExt.pas(813): Incompatible types: 'TToolButton' and 'TWinControl'
  • 0

#5 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 24 May 2010 - 10:54 AM

Ahora si :)

Deja ver si conseguimos algo para darle la vuelta :)

Salud OS
  • 0

#6 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2092 posts
  • LocationRepública Dominicana

Posted 24 May 2010 - 06:45 PM

Saludos.

Aún no me queda claro para que averiguas si es un TToolButton el control activo previo al evento.


  • 0

#7 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1750 posts
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Posted 25 May 2010 - 07:42 AM

Saludos.

Aún no me queda claro para que averiguas si es un TToolButton el control activo previo al evento.


Simple. Al momento de evaluar el contenido del campo (OnExit), si se ha pulsado un botón se anula la edición y se otorga el control al contenido programado del botón.

Intenta hacerlo sin éste concepto y el OnExit evaluará el contenido del campo Y DESPUÉS ejecutará la acción del botón.
  • 0

#8 ecfisa

ecfisa

    Newbie

  • Miembros
  • Pip
  • 1 posts

Posted 28 July 2010 - 01:40 AM

Hola a todos.

Si no entendí mal el problema, no veo manera de verificar dentro del evento OnExit del TEdit, la pulsación de un TToolButton. Ya que este último no puede recibir el foco y por consiguiente TEdit no lo va a perder.
Como consecuencia de esto el evento OnExit no se va a producir...

Saludos.
  • 0




IP.Board spam blocked by CleanTalk.