Ir al contenido


Foto

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


  • Por favor identifícate para responder
7 respuestas en este tema

#1 TiammatMX

TiammatMX

    Advanced Member

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

Escrito 24 mayo 2010 - 10:33

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
  • 14.446 mensajes
  • LocationMéxico

Escrito 24 mayo 2010 - 10:44

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
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 24 mayo 2010 - 10:46

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
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 24 mayo 2010 - 10:50

... 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
  • 14.446 mensajes
  • LocationMéxico

Escrito 24 mayo 2010 - 10:54

Ahora si :)

Deja ver si conseguimos algo para darle la vuelta :)

Salud OS
  • 0

#6 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 24 mayo 2010 - 06:45

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
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 25 mayo 2010 - 07:42

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 mensajes

Escrito 28 julio 2010 - 01:40

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.