Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Amazon porta i colori sul suo Kindle da scrittura più grande: schermo Colorsoft a 11 pollici, processore quad-core, penna premium più reattiva e strumenti IA per le note, sono le note salienti. Il salto di prezzo rispetto al modello in bianco e nero si fa sentire, anche se la percezione è quella di trovarsi di fronte a un prodotto di fascia altissima, per veri appassionati
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
Abbiamo intervistato Sumit Dhawan, CEO di Proofpoint, per capire come stia cambiando il mondo della sicurezza con l'avvento dell'intelligenza artificiale e con il ritmo sempre più serrato a cui vengono trovate vulnerabilità nel software. Un problema significativo, che richiederà del tempo per essere risolto (o quantomeno arginato)
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-02-2006, 09:24   #1
gusamorim
Member
 
Iscritto dal: Feb 2006
Città: Macondo
Messaggi: 50
Nuovo tipo di finestra MessageBox

Salve,
qualcuno sa come si implementano quelle finestre di notifica che scorrono dal basso verso l'alto nella parte in basso a destra della barra delle applicazioni?
Le utilizzano programmi come "Download Accelerator" e alcuni antivirus per notificare dei messaggi senza bloccare gli applicativi in esecuzione (a differenza della classica MessageBox).
Vorrei sapere se c'è qualche libreria o controllo OCX, oppure se bisogna farlo a mano, a prescindere dal linguaggio usato.
Spero di essermi spiegato.
Grazie.
gusamorim è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2006, 09:57   #2
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da gusamorim
Salve,
qualcuno sa come si implementano quelle finestre di notifica che scorrono dal basso verso l'alto nella parte in basso a destra della barra delle applicazioni?
Le utilizzano programmi come "Download Accelerator" e alcuni antivirus per notificare dei messaggi senza bloccare gli applicativi in esecuzione (a differenza della classica MessageBox).
Vorrei sapere se c'è qualche libreria o controllo OCX, oppure se bisogna farlo a mano, a prescindere dal linguaggio usato.
Spero di essermi spiegato.
Grazie.
Io l'ho sempre fatto a mano. Per Linux (KDE) ho fatto direttamente una libreria (KAnimateBox, spero la mettano nelle kdelibs ), per windows non ho fatto una libreria altrimenti te la passerei, ma sono sicuro che se cerchi con google qualcosa la trovi (magari una dll o un controllo ActiveX più che un .ocx).
Comunqe non è che sia così difficile animare una messagebox, puoi farlo tranquillamente a mano senza troppa fatica
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2006, 11:03   #3
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
Non è un nuovo tipo di finestra, se ci pensi bene è una finestra normale che viene a poco a poco mostrata (o ridimensionata) fino a mostrarsi tutta.

Basta un timer (SetTimer, WM_TIMER) e SetWindowPos: posizioni la tua finestra in basso a destra, sotto la barra delle applicazioni, crei un timer e nel timer incrementi ogni volta la posizione verticale della finestra. Distruggi il timer quando hai finito. Stessa cosa al contrario quando devi nasconderlo.
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2006, 11:05   #4
gusamorim
Member
 
Iscritto dal: Feb 2006
Città: Macondo
Messaggi: 50
Grazie a -fidel- e kk3z per i suggerimenti,
visto che ci sono: come si procede per personalizzare il look di una finestra in WinXP?
Voglio dire p.es. per cambiare l'aspetto della barra del titolo, dei pulsanti ingrandimento/riduzione ecc.
Io utilizzo C++ (Borland o MS), ma anche qualche suggerimento in VB6 mi farebbe comodo.

Ultima modifica di gusamorim : 20-02-2006 alle 11:13.
gusamorim è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2006, 11:16   #5
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da kk3z
Non è un nuovo tipo di finestra, se ci pensi bene è una finestra normale che viene a poco a poco mostrata (o ridimensionata) fino a mostrarsi tutta.

Basta un timer (SetTimer, WM_TIMER) e SetWindowPos: posizioni la tua finestra in basso a destra, sotto la barra delle applicazioni, crei un timer e nel timer incrementi ogni volta la posizione verticale della finestra. Distruggi il timer quando hai finito. Stessa cosa al contrario quando devi nasconderlo.
Attenzione!! Se vuoi implementare il messaggio a scomparsa con una dialog box il tuo metodo è ok, MA se lo vuoi implementare con una MessageBox la cosa cambia di molto! Infatti, le funzioni "MessageBox(...)" e "MessageBoxEx(...)" NON permettono di spostare la finestra. Per spostarla hai bisogno di ottenere l'handle alla messagebox, e questo handle lo ottieni installando un hook nella hook chain di windows ( SetWindowsHookEx(WH_CBT, ...) eccetera). Quando poi sei nella hook procedure, allora hai l'handle alla messagebox e puoi usare SetWindowPos(...)

EDIT: con questo metodo puoi anche facilmente modificare l'aspetto della messagebox fornita dalle API di windows, così da rendere inutile la creazione di una nuova finestra di dialogo solo per mostrare un messaggio a scomparsa. E' più comodo mi pare sfruttare le messagebox fornite già da windows e personalizzarle più che creare una nuova finestra apposta
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson

Ultima modifica di -fidel- : 20-02-2006 alle 11:20.
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2006, 11:33   #6
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da gusamorim
Grazie a -fidel- e kk3z per i suggerimenti,
visto che ci sono: come si procede per personalizzare il look di una finestra in WinXP?
Voglio dire p.es. per cambiare l'aspetto della barra del titolo, dei pulsanti ingrandimento/riduzione ecc.
Io utilizzo C++ (Borland o MS), ma anche qualche suggerimento in VB6 mi farebbe comodo.
Eh non è un discorso molto semplice purtroppo. Con Windows XP, Se vuoi "limitarti" alla possibilità di rendere la tua finestra coerente con lo stile in uso sul sistema, devi forzare il sistema ad usare la libreria ComCtrl32.dll versione 6 (XP ha di default sia la versione 5 che la 6): per fare questo devi aggiungere un manifest file nella cartella del tuo programma. Questo file viene creato in automatico se crei un progetto .NET (mi pare), se invece vuoi farlo a mano (se programi in delphi o in C++ API o MFC ad esempio) ti basta mettere nella cartella del tuo programma questo file:

NomeMiaApplicazione.exe.manifest

contenuto del file:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="CompanyName.ProductName.YourApp"
type="win32"
/>
<description>Scrivi qui la descrizione della tua applicazione</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>

Prova ad eseguire la tua applicazione e vedi la differenza

Se invece vuoi creare uno stile tutto tuo (ad esempio tipo MusicMatch...) allora ti rimando alla Msdn perchè il discorso è piuttosto lungo.
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2006, 12:36   #7
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
Quote:
Originariamente inviato da -fidel-
Attenzione!! Se vuoi implementare il messaggio a scomparsa con una dialog box il tuo metodo è ok, MA se lo vuoi implementare con una MessageBox la cosa cambia di molto! Infatti, le funzioni "MessageBox(...)" e "MessageBoxEx(...)" NON permettono di spostare la finestra. Per spostarla hai bisogno di ottenere l'handle alla messagebox, e questo handle lo ottieni installando un hook nella hook chain di windows ( SetWindowsHookEx(WH_CBT, ...) eccetera). Quando poi sei nella hook procedure, allora hai l'handle alla messagebox e puoi usare SetWindowPos(...)

EDIT: con questo metodo puoi anche facilmente modificare l'aspetto della messagebox fornita dalle API di windows, così da rendere inutile la creazione di una nuova finestra di dialogo solo per mostrare un messaggio a scomparsa. E' più comodo mi pare sfruttare le messagebox fornite già da windows e personalizzarle più che creare una nuova finestra apposta
No infatti io intendevo proprio che non è un MessageBox nè una finestra uacciuariua che fa tutto da sola, ma è una semplice finestra (un dialogbox, l'esempio più facile). Non mi sognerei neanche di farlo con il MessageBox o con un dialogbox modal, dato che per trovarne l'handle bisognerebbe fare tutto l'ambaradan di cui hai parlato
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2006, 12:47   #8
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da kk3z
Non mi sognerei neanche di farlo con il MessageBox o con un dialogbox modal, dato che per trovarne l'handle bisognerebbe fare tutto l'ambaradan di cui hai parlato
Convengo che per creare una finestrella che appare piano piano e poi scompare il metodo più semplice è quello di creare una dialog box senza bordi e farla animare con un timer che controlla la posizione della finestra.
Animare una messagebox però risulta molto conveniente perchè, una volta padroneggiato il meccanismo delle hook procedures, posso creare una messagebox personalizzata con poca fatica: l'unica difficoltà è appunt intercettare la chiamata alla funzione MessageBox() delle API di windows, personalizzarla poi è facilissimo, e ti permette di sfruttare tutto il codice scritto dagli uomini Microsoft invece di diseganre tutto a mano Risparmio di codice = circa 80%
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
5 mini PC con 32GB di RAM, da 399€ a 519...
Il futuro è arrotolabile: Samsung punta ...
Meno giochi di terze parti per il futuro...
iOS e iPadOS 26.5.2 ufficiali: quasi 30 ...
macOS Tahoe 26.5.2 rilasciato: nessuna n...
Apple non vuole perdere tempo: i nuovi M...
Motorola Edge 70 Fusion a 284€, prezzo p...
Clamoroso schiaffo a Xbox: l'80% degli u...
GTA 6 a 60 FPS su console: spuntano i de...
Prezzi di un anno fa e di oggi: ECOVACS ...
iPhone 18e: Apple ricicla il display a 6...
AMD Zen 6 introdurrà un nuovo cor...
Recensione NZXT H2 Flow: tutta la potenz...
OpenClaw, addio Telegram: app native per...
287€: questo è il super prezzo pe...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:32.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v