Autore Topic: [RISOLTO] Allineamento dati TextBox  (Letto 1193 volte)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
[RISOLTO] Allineamento dati TextBox
« il: 10 Novembre 2009, 23:58:53 »
Ho una TextBox filtrata solo per poter digitare dei numeri, mi servirebbe implementare una funzione del tipo:

Se all'avvio del programma la TextBox è vuota la digitazione dei valori deve avvenire con allineamento a sinistra è premendo il tasto Invio devono allinearsi a destra.

Se all'avvio del programma la TextBox contiene già dei dati devono essere visualizzati allineati a destra, se dovessi modificarli all'atto della digitazione  che deve partire a sinistra cancellando i "vecchi", i nuovi dati verranno allineati a destra alla pressione del tasto Invio.

A forza di fare prove con le varie proprietà della TextBox mi sono ingarbugliato, urge il vostro aiuto.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Allineamento dati TextBox
« Risposta #1 il: 11 Novembre 2009, 11:23:54 »
Scusa, da dove prende i dati la textbox?

Comunque su per giù sarebbe:

Codice: [Seleziona]

bDato as boolean

PUBLIC SUB Form_Open()

IF fonte_dati = vuota THEN
   textbox1.aglinment = "Left"
   bDato = TRUE
ELSE
   textbox.aglinment = "Right"
   bDato = FALSE
END IF

END

PUBLIC SUB TextBox1_keypress()

IF (key.code = key.enter OR key.code = key.return) THEN
  IF bDato = TRUE THEN
    textbox1.aglinment = "Right"
  ELSE
    textbox1.aglinment = "Left"
  END IF  
END IF

SUB

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Allineamento dati TextBox
« Risposta #2 il: 12 Novembre 2009, 22:10:01 »
Ci siamo quasi, rimane un problema.
Se la TextBox si presenta popolata da un dato, nel momento che ho il focus (con il click del mouse) per modificarlo o cancellarlo per inserirne uno nuovo il dato rimane allineato a destra, a me serve che nel momento che devo inserire un nuovo dato per sotituire o modificare quello esistente il tutto avvenga a sinistra e si allinei a destra solo con la pressione del tasto Invio.
Un pò macchinoso ma spero di essermi spiegato.

P.S.: La TextBox prende il dato selezionato in un altro form per mezzo di una varibile di tipo String, preciso che da programma non è mai vuota a meno che non cancelli volontariamente il contenuto, comunque la controllo con una condizione che impedisce che rimanga vuota.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Allineamento dati TextBox
« Risposta #3 il: 12 Novembre 2009, 23:22:16 »
ehm....non ho capito...

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Allineamento dati TextBox
« Risposta #4 il: 13 Novembre 2009, 00:14:36 »
Forse così il concetto è più chiaro.

Ho disegnato tre TextBox per spiegare meglio quello che voglio ottenere, ma in realtà la TextBox è una sola.

La prima è la condizione iniziale, TextBox popolata allineata a destra

La seconda condizione deve avvenire quando modifico il dato (è deve avvenire con allineamento a sinistra)

La condizione finale (dato modificato allineato a destra) solo quando premo Invio.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: Allineamento dati TextBox
« Risposta #5 il: 20 Novembre 2009, 22:08:56 »
ciao

intercetta gli eventi lostfocus e gotfocus

lostfocus alinei a sinistra

gotfocus a  destra

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Allineamento dati TextBox
« Risposta #6 il: 21 Novembre 2009, 00:48:30 »
No, con questi eventi non ci siamo.
Con LostFocus e sufficente che passi il mouse sul campo e si allinea a sinistra, a me serve che si allinei al click del mouse.

Con GotFocus l'allineamento a destra funziona, ma a me serve non quando perde il "focus" ma quando premo il tasto Invio/Enter.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: Allineamento dati TextBox
« Risposta #7 il: 21 Novembre 2009, 00:58:52 »
vedi se và bene

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Allineamento dati TextBox
« Risposta #8 il: 21 Novembre 2009, 19:20:22 »
Era quello che volevo ottenere.  :ok:
Grazie desadex
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: Allineamento dati TextBox
« Risposta #9 il: 26 Novembre 2009, 01:47:57 »
di nulla
anzi mi hai dato un'idea, in fase di modifica per una maggiore visibilità mi sposto i dati a centro text poi salvo e se ne vanno a destra.