Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [delphi] : azione searchFind

    Salve a tutti
    sto creando un applicazione in delphi 2006 che tra le altre cose fa anche da editor di testi.

    Spiego subito il mio problema:
    ho una form padre che quando si aprono dei file di testi crea delle form figlie.
    Ho creato un'azione che si chiama searchFind anzi più che creata ho riutilizzato quella presente nella lista delle azioni disponibili che come avrete capito, fa una ricerca all'interno del documento selezionato.
    Ho compilato ed ho notato che la ricerca la fa ma per vedere il risultato(testo evidenziato) bisogna riselezionare la finestra figlia sul quale ho operato la ricerca.
    La mia domanda è questa, come faccio a far si che, una volta avviata la ricerca la selezione della finestra ritorni su quella del testo sul quale ho operato tale ricerca e vedere il testo evidenziato?

    grazie a tutti!
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Occorre tenere presente che le Standard Actions presenti in Delphi sono un ottimo strumento per ottenere una soluzione immediata, a volte anche complessa, a determinate esigenze che si presentano frequentemente durante lo sviluppo di un'applicazione, ma tuttavia non sono sempre sufficienti qualora ciò che si deve implementare rappresenta una necessità molto specifica o da personalizzare in uno o più dei passi che la compongono.

    Nel tuo caso, forse sarebbe meglio introdurre una azione personalizzata, in cui inserisci il codice che richiama la finestra di dialogo di ricerca e gestisce manualmente sia la ricerca del testo, che la sua selezione, effettuando anche lo spostamento del focus laddove lo ritieni necessario.

    Per scrivere il codice in grado di gestire la parte che stai sfruttando relativa all'azione standard, puoi sempre sbirciare nel codice della libreria VCL per vedere come Borland ha implementato la sua azione e prendere spunto in modo da realizzare una cosa simile, aggiungendo quello che manca.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    ma non c'è una funzione che possa inserire nell'evento della finestra di dialogo cerca "on find"(ovvero quando viene premuto Cerca nella find dialogs che si apre) in modo da spostare il focus?

    poi colgo l'occasione per chiederti un'altra cosa:

    ho un menu(file,modifica,finestre) e vorrei che in questo comparisse il sottomenù alla voce finestre dove compaiano i documenti di testo aperti(con la spunta su quello dove sta il focus), hai un idea di come potrei fare?
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  4. #4
    Originariamente inviato da alka

    Per scrivere il codice in grado di gestire la parte che stai sfruttando relativa all'azione standard, puoi sempre sbirciare nel codice della libreria VCL per vedere come Borland ha implementato la sua azione e prendere spunto in modo da realizzare una cosa simile, aggiungendo quello che manca.

    Ciao!
    dove lo vado a pescare il codice della libreria VLC in questione?
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  5. #5
    up
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Originariamente inviato da Whitecrowsrain
    ma non c'è una funzione che possa inserire nell'evento della finestra di dialogo cerca "on find"(ovvero quando viene premuto Cerca nella find dialogs che si apre) in modo da spostare il focus?
    Hai provato ad usare l'evento OnAccept dell'azione per spostare il focus?

    Ad ogni modo, se il problema è vedere evidenziato il testo durante la ricerca, forse è meglio verificare che il controllo contenente il testo abbia una proprietà HideSelection e impostarla a False.

    Per quanto riguarda la visione del codice sorgente, è possibile sfogliarlo facendo CTRL+clic sull'elemento desiderato; ad esempio, cliccando su una variabile si naviga alla sua dichiarazione, cliccando sul tipo di variabile si va alla dichiarazione della classe e così via...

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.