* * * *

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.
Aprile 16, 2024, 07:05:55 am

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

81 Visitatori, 0 Utenti

Autore Topic: [OT] Windows 11 e barra di avvio veloce  (Letto 4150 volte)

bonmario

  • Hero Member
  • *****
  • Post: 1300
  • Karma: +10/-1
Re:[OT] Windows 11 e barra di avvio veloce
« Risposta #60 il: Marzo 06, 2023, 08:23:29 am »
Ho fatto la prova con il "bsNone" su molti PC con Windows 11 (Home, Pro) e su tutti il programma non appare con "ALT TAB".

Ciao,
ho provato il tuo codice, e funziona bene anche da me.
Probabilmente nel mio progetto c'è qualcosa che va in conflitto, e fa sì che non funzioni.
Non fa niente, sarebbe solo stata una finezza in più !

Ciao, Mario

Trovato !!!
Nel file .lpr, prima della creazione del form, avevo aggiunto questo:

Codice: [Seleziona]
Application.MainFormOnTaskBar:=True;

Serve per nascondere l'icona del programma dalla taskbar di Windows. Disabilitando questa istruzione, adesso il tuo codice funziona !

Grazie ancora, Mario

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1266
  • Karma: +43/-0
  • Prima ascoltare, poi decidere
Re:[OT] Windows 11 e barra di avvio veloce
« Risposta #61 il: Marzo 06, 2023, 02:50:24 pm »
 ;D Nel codice che ti ho postato l'istruzione era a FALSE, ... sottovalutazione mia nel non segnalarlo.

Comunque come si dice ..... tutto è bene se si risolve ..... più o meno  ;D ;D ;D

Ciao
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

giacomarko

  • Full Member
  • ***
  • Post: 105
  • Karma: +6/-0
Re:[OT] Windows 11 e barra di avvio veloce
« Risposta #62 il: Marzo 06, 2023, 06:01:01 pm »
Scaricato, tutto ok..

domanda, ma secondo voi, il componente TTabSheet, potrebbe essere abilitato per ricevere le icone con il drag & Drop?

ci ho provato, ma senza risultato... fallito anche Chat GPT 😀😀
SO: W11
Release Lazarus: 3.0 del 2023.12.17 win32/win64
Versione FPC: 3.2.2
DB: MySQL 5.0, MSAccess

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1266
  • Karma: +43/-0
  • Prima ascoltare, poi decidere
Re:[OT] Windows 11 e barra di avvio veloce
« Risposta #63 il: Marzo 06, 2023, 09:12:13 pm »
Scaricato, tutto ok..

domanda, ma secondo voi, il componente TTabSheet, potrebbe essere abilitato per ricevere le icone con il drag & Drop?

ci ho provato, ma senza risultato... fallito anche Chat GPT 😀😀

Il problema del Drag & Drop in Windows è che gestito in una maniera molto particolare. Lazarus nasconde (almeno che non si vada dei meandri dei sorgenti di FPC) molto, in effetti facilitando ma contemporaneamente anche limitando il suo uso.

Provo sotto Delphi, poi vedo come fare sotto Lazarus.
Ciao
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1266
  • Karma: +43/-0
  • Prima ascoltare, poi decidere
Re:[OT] Windows 11 e barra di avvio veloce
« Risposta #64 il: Marzo 06, 2023, 11:31:31 pm »
Programma aggiornato.

Se come settato nel codice postato usi TTabsheet, devi adattare parte del codice per ampliare la larghezza del controllo (si deve ampliare il TPageControl).

https://cloud.dyn-o-saur.com/QuickLaunch.zip

P.S.: puoi usare diversi controlli, ma alcuni di quelli che ho provato non gestiscono correttamente il drag and drop, oppure la visualizzazione o gli eventi ....

Nel controllo che userai come DROP devono essere impostati gli eventi (vedi allegato):

Codice: [Seleziona]
//Questi eventi devono essere impostati dall'Object Inspector e non a Run TIME !!!!!!
//Alcuni controlli li espongono come Protected, quindi bisognerebbe derivare una classe per
//poterli gestire a runtime.
// OnDragDrop -> FormDragDrop
// OnDragOver -> FormDragOver
« Ultima modifica: Marzo 07, 2023, 12:04:53 am da DragoRosso »
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

giacomarko

  • Full Member
  • ***
  • Post: 105
  • Karma: +6/-0
Re:[OT] Windows 11 e barra di avvio veloce
« Risposta #65 il: Marzo 07, 2023, 09:29:10 am »
Potrebbe essere che l'ultima versione postata (quella di ieri) sia la stessa della precedente?

Te lo chiedo perchè vedo nel tuo post, lo screenshoot del componente TTabSheet, che però non trovo in quella scaricata, tra l'altro anche la data di ultima modifica del file UMain è del 1/3/2023, cioè di settimana scorsa... ;-)

Chiaramento l'ho aggiunto io, e modificato gli eventi (vedi img allegate)... ma senza effetto, sicuramente perchè manca il tuo aggiornamento.

buona giornata

M
SO: W11
Release Lazarus: 3.0 del 2023.12.17 win32/win64
Versione FPC: 3.2.2
DB: MySQL 5.0, MSAccess

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1266
  • Karma: +43/-0
  • Prima ascoltare, poi decidere
Re:[OT] Windows 11 e barra di avvio veloce
« Risposta #66 il: Marzo 07, 2023, 11:47:45 am »
... ehm ... mio errore non avevo aggiornato il file sul server ... sono troppo vecchio per fare lavori a quelle ore ...  ;D

Ora il link è OK.

Ciao
« Ultima modifica: Marzo 07, 2023, 11:51:23 am da DragoRosso »
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

giacomarko

  • Full Member
  • ***
  • Post: 105
  • Karma: +6/-0
Re:[OT] Windows 11 e barra di avvio veloce
« Risposta #67 il: Marzo 07, 2023, 08:42:07 pm »
Grazie, ora tutto ok,

me lo studio e vedo cosa riesco a fare

 :)
SO: W11
Release Lazarus: 3.0 del 2023.12.17 win32/win64
Versione FPC: 3.2.2
DB: MySQL 5.0, MSAccess

bonmario

  • Hero Member
  • *****
  • Post: 1300
  • Karma: +10/-1
Re:[OT] Windows 11 e barra di avvio veloce
« Risposta #68 il: Marzo 15, 2023, 12:25:03 pm »

L'unica cosa che mi manca, ma credo che quello sia impossibile, è il fatto di mettere la mia barra sopra a quella di stato di Windows11, e fare in modo che TUTTE le altre finestre abbiano il "top della mia" come limite invalicabile, ma questo credo proprio che sia impossibile da ottenere.

Ciao, Mario


Sono riuscito ad aggirare il problema, grazie al codice qui sotto:
Codice: [Seleziona]
function IsMyFormCovered(const MyForm: TForm): Boolean;
var
   MyRect: TRect;
   MyRgn, TempRgn: HRGN;
   RType: Integer;
   hw: HWND;
begin
  MyRect := MyForm.BoundsRect;            // screen coordinates
  MyRgn := CreateRectRgnIndirect(MyRect); // MyForm not overlapped region
  hw := GetTopWindow(0);                  // currently examined topwindow
  RType := SIMPLEREGION;                  // MyRgn type

// From topmost window downto MyForm, build the not overlapped portion of MyForm
  while (hw<>0) and (hw <> MyForm.handle) and (RType <> NULLREGION) do
  begin
    // nothing to do if hidden window
    if IsWindowVisible(hw) then
    begin
      GetWindowRect(hw, MyRect);
      TempRgn := CreateRectRgnIndirect(MyRect);// currently examined window region
      RType := CombineRgn(MyRgn, MyRgn, TempRgn, RGN_DIFF); // diff intersect
      DeleteObject( TempRgn );
    end; {if}
    if RType <> NULLREGION then // there's a remaining portion
      hw := GetNextWindow(hw, GW_HWNDNEXT);
  end; {while}

  DeleteObject(MyRgn);
  Result := RType = NULLREGION;
end;

function IsMyFormVisible(const MyForm : TForm): Boolean;
begin
  Result:= MyForm.visible and
           isWindowVisible(MyForm.Handle) and
           not IsMyFormCovered(MyForm);
end;

In pratica, ho messo un timer che ogni secondo controlla se il miò form è "not IsMyFormVisible", se è così, lo riporto in primo piano !!!

Ora il mio programma dovrebbe essere completo !!!
Ciao, Mario

 

Recenti

How To

Utenti
  • Utenti in totale: 785
  • Latest: gmax
Stats
  • Post in totale: 18769
  • Topic in totale: 2232
  • Online Today: 80
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 81
Total: 81

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.