* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Novembre 22, 2024, 11:29:36 pm

Inserisci il nome utente, la password e la durata della sessione.

82 Visitatori, 1 Utente
 

Autore Topic: Visualizzare un form senza focus  (Letto 9730 volte)

mmxngg

  • Newbie
  • *
  • Post: 25
  • Karma: +0/-0
Visualizzare un form senza focus
« il: Febbraio 16, 2012, 04:31:15 pm »
L'idea è di visualizzare un form ma lasciare il focus sul chiamante. Non ho visto paremetri particolari quindi ho provato con ShowWindow(Form.Handle, SW_SHOWNOACTIVATE) prima di renderlo visibile ma il risultato non è proprio l'ideale visto che non si vedono i componenti all'interno! Un metodo alternativo e funzionante (che non sia il .SetFocus sul chiamante dopo la visualizzazione) ?

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3273
  • Karma: +12/-0
Re:Visualizzare un form senza focus
« Risposta #1 il: Febbraio 16, 2012, 04:34:01 pm »
scusa la domanda. perchè non vuoi usare il setfocus?
Ieri è passato, domani è futuro, oggi è un dono...

mmxngg

  • Newbie
  • *
  • Post: 25
  • Karma: +0/-0
Re:Visualizzare un form senza focus
« Risposta #2 il: Febbraio 17, 2012, 01:38:45 am »
Perchè nel momento in cui mostro l'altra finestra (FromStyle = fsStayOnTop) questa prende il focus e ridarlo immediatamente a quella principale crea uno sgradevole sfarfallio a video. Non è certo un problemone ma se c'era un metodo per evitarlo era meglio.

A questo punto mi viene una domanda alternativa che potrebbe funzionare. C'è un modo per bloccare i messaggi da processare ? In sostanza il contrario di Application.ProcessMessages.

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3273
  • Karma: +12/-0
Re:Visualizzare un form senza focus
« Risposta #3 il: Febbraio 19, 2012, 11:57:22 am »
Non ne ho mai avuto bisogno quindi ho aperto un 3d apposito sul forum ufficiale

http://www.lazarus.freepascal.org/index.php/topic,16071.msg86977/topicseen.html#new

vediamo cosa riusciamo a trovare al riguardo.
Ieri è passato, domani è futuro, oggi è un dono...

mmxngg

  • Newbie
  • *
  • Post: 25
  • Karma: +0/-0
Re:Visualizzare un form senza focus
« Risposta #4 il: Febbraio 20, 2012, 08:53:43 am »
Visto grazie. Hanno suggerito Sleep (che non ho avuto ancora il tempo di provare), ma ho l'impressione che questo sospenda i messaggi da processare ma non li scarti (in pratica rimangono in coda e verrano comunque eseguiti).

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3273
  • Karma: +12/-0
Re:Visualizzare un form senza focus
« Risposta #5 il: Febbraio 20, 2012, 09:08:45 am »
Penso anche io. Però veramente non capisco l'utilità di aprire una finestra e poi non usarla! Tantovale aprirla in modo che sia invisibile!
Ieri è passato, domani è futuro, oggi è un dono...

mmxngg

  • Newbie
  • *
  • Post: 25
  • Karma: +0/-0
Re:Visualizzare un form senza focus
« Risposta #6 il: Febbraio 20, 2012, 09:31:24 am »
Ti passo direttamente l'esempio. Per creare il caso basta andare sul frame di destra, cliccare con il destro e dal menù scegliere prima Pixel e successivamente Box (sono le uniche opzioni che hanno una finestra per ora). In fase di aggiunta va benissimo che la finestra abbia il focus ma quando riseleziono l'oggetto (cliccando quindi su quelli creati e non dal menu) vorrei che venisse solo mostrata ma senza focus.

http://www.wupload.it/file/2664966787/VRT.rar

P.S.

Se hai un antivirus particolarmente invasivo e stupido (quello che ho in ufficio) può segnalarti un alert sulla DLL per via di come vengono effettuate le chiamare alle routine.

P.P.S.

Se Lazarus avesse i float pannel (in stile Visual Studio) farei volentieri a meno delle finestre  :-[
« Ultima modifica: Febbraio 20, 2012, 09:33:08 am da mmxngg »

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3273
  • Karma: +12/-0
Re:Visualizzare un form senza focus
« Risposta #7 il: Febbraio 20, 2012, 09:56:47 am »
Capito, io ho fatto una prova velocissima dell'uso del SetFocus sulla form principale. Ma non vedo sfarfallii. Spiegami come funziona quell'oggetto di Visual Studio!
Ieri è passato, domani è futuro, oggi è un dono...

Legolas

  • Global Moderator
  • Sr. Member
  • *****
  • Post: 366
  • Karma: +3/-0
Re:Visualizzare un form senza focus
« Risposta #8 il: Febbraio 20, 2012, 10:04:29 am »
Non ne ho provato il comportamento, ma ho trovato questo che forse può servire:

http://www.delphipages.com/forum/showpost.php?p=59129&postcount=11

mmxngg

  • Newbie
  • *
  • Post: 25
  • Karma: +0/-0
Re:Visualizzare un form senza focus
« Risposta #9 il: Febbraio 20, 2012, 10:10:22 am »
Fa finta che siano dei frame solo che hanno la possibilità di essere spostati all'interno della finestra (sopra, sotto o sotto di un altro pannello ecc. ecc.) o in alternativa si possono "staccare" dalla finestra principale e diventare a loro volta delle finestre. Son comodi perchè permettono di avere un'interfaccia personalizzata. Inizialmente, al posto della finestra, avevo usato un frame e il page control ma quest'ultimo è solo bianco e non c'è modo di personalizzarlo (o meglio...il modo c'è ma si perdono le impostazioni di default degli altri componenti rispetto al tema di windows)...insomma veniva uno schifo quindi...finestra esterna.

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3273
  • Karma: +12/-0
Re:Visualizzare un form senza focus
« Risposta #10 il: Febbraio 20, 2012, 10:25:57 am »
Hai provato a guardare se qui, tra le varie cose disponibili c'è quello che cerchi?! Magari qualcuno lo ha fatto: http://wiki.lazarus.freepascal.org/Components_and_Code_examples

Fammi sapere
Ieri è passato, domani è futuro, oggi è un dono...

mmxngg

  • Newbie
  • *
  • Post: 25
  • Karma: +0/-0
Re:Visualizzare un form senza focus
« Risposta #11 il: Febbraio 20, 2012, 10:54:55 am »
Allora :

- L'elenco dei componenti aggiuntivi l'avevo già controllato. Li di carino c'è Spook's Panel e BGRAControls ma null'altro. Altra gente aveva chiesto (sul forum principale) la possibilità di aggiungere altri componenti (credo che il Delphi li abbia) ma non c'è stata risposta.
- Provo a modificare quell'esempio li per vedere se riesco a bloccare il focus (senza creare un TForm in più magari altrimenti dove ricompilare l'IDE).

mmxngg

  • Newbie
  • *
  • Post: 25
  • Karma: +0/-0
Re:Visualizzare un form senza focus
« Risposta #12 il: Febbraio 21, 2012, 09:49:15 am »
Niente, il form prendre sempre e comunque il focus. Qualcosa mi dice che dovrei crearmi un componente ad hoc per cambiarne il comportamento ma non ne vale la pena...ci posso convivere  :)

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3273
  • Karma: +12/-0
Re:Visualizzare un form senza focus
« Risposta #13 il: Febbraio 21, 2012, 10:16:14 am »
Già credo anche io!  :)
Ieri è passato, domani è futuro, oggi è un dono...

 

Recenti

How To

Utenti
  • Utenti in totale: 803
  • Latest: maXim.FI
Stats
  • Post in totale: 19169
  • Topic in totale: 2286
  • Online Today: 99
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 1
Guests: 82
Total: 83

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.