Newsgroup: it.comp.lang.visual-basic
Titolo: x pal e qualche altro Guru. Se non lo sapete voi ...chiudo !

...accoglimi sotto la tua ala protettrice .... ;)
ho postato gia' due volte una richiesta ma ... niente di niente
....eppure e' un'idea simpatica !!
Questa era + o - la mia richiesta .......
-------------------------------------------
All'indirizzo
http://hotbar.com
c'e' un sito simpatico che ti permette di caricare delle immagini .bmp sotto
la toolbar e la Menu'Bar di Internet Explorer.
Le varie prove di caricamento (circa 10 secondi per ogni caricamento)
contribuiscono a popolare un archivio che rimane sul PC.
Tale archivio permette di selezionare immagini diverse anche se non si e'
collegati ad Internet.
I file grafici sono dei normalissimi .bmp e ,una volta caricato e residente
su hard disk, cambiando l'immagine ma mantenendo il nome del file, si puo'
caricare anche una immagine propria.
Come possono aver fatto a caricare l'immagine sotto la toolbar di IE ?
Vorrei creare un software che si svincolasse dal tipo di
applicazione (non solo per IE5) e permettesse il caricamento di una immagine
sotto a toolbar e menubar.
-------------------------------------------
.....ora io ho il mie IE5 con una stupenda immagine di un lupo di profilo
sotto la toolbar.
Secondo te e' possibile fare qualcosa del genere in VB ?
Se non vuoi configurare il tuo IE con le immagini e vuoi vedere cosa succede
ti posso inviare una stampa schermo per farti capire bene di cosa parlo
.....
Scusa il contatto diretto ma e' l'ultimo tentativo, ....poi abbandono e mi
tengo il lupo cosi' com'e' .....  ;)
Ciao
Stefano

 ....eppure e' un'idea simpatica !!
io avevo fatto qc del genere con i toys ie5tweak (se credi te li mando), che
danno esattamente questa possibilita'. ti metti un po' di bmp in una dir e
quelli te li sfondano (<g>) in ie... quando poi pero' il medesimo ie va in
crollo ogni 5', non ci si deve lamentare...
via codice non ho la minima idea di come ci si arrivi. ipotizzo (oggi
dicevo: provate un po' a chiedermi di classi ecc. ...) un po', cosi' magari
qualche guru soprassalta e mi corregge, con questo aiutandoti. ma non ci
contare, i guru non perdono tempo in ciappini, a meno che non abbiano qc di
urgente da fare a scadenze ravvicinatissime:
-- becchi la finestra di ie o del prg che ti interessa (se non sai come,
lascia perdere, mi sa sia meglio).
-- ti subclassi la toolbar (id.). non so se win sara' molto d'accordo, ho
come l'impressione che sia un punto abbastanza nevralgico.
-- le racconti che vorresti che anziche' quel grigione ms vorresti avesse il
tuo sfondo (id.).
dubito ma hth, pal
ps -- auguri al lupo, specie, in italia, protetta.

> Come possono aver fatto a caricare l'immagine sotto la toolbar di IE ?
Mi perdonerai un consiglio. E' preferibile che tu non
cerchi di invocare una cosa come un guru, ottieni solo
di perdere un gran numero di consigli che potrebbero
tornarti utili.
In generale, la procedura è quella intercettare
e subclassare una finestra, manipolandone alcune
caratteristiche. Forse in questo caso è anche più semplice
(anche se sarebbe più semplice in C).
Ti descrivo solo il concetto, non ho l'IDE di VB sotto mano.
Con un programmino di Spy, trovi il nome della classe
della finestra di Explorer che vuoi modificare (il nome della
classe è sempre lo stesso, indipendentemente dalla versione del
programma).
Con, mettiamo, FindWindow, avendo il nome della classe
recuperi l'handle (hwnd) della finestra. Quando hai l'handle puoi
farci un po' di tutto. Ad esempio ottenere l'handle del suo DC
(display Device Contest) con GetDCEx.
A questa funzione si può passare un parametro, se non
sbaglio DCX_CLIPSIBLINGS, che esclude dal DC
ricevuto l'area occupata dai "siblings", ossia le finestre che
"giacciono" sul parent, in questo caso i pulsanti.
A questo punto (taglio alcuni passaggi) non ti resta che
caricare in memoria un bitmap (con una Picture va benissimo),
creare un device contest che sia compatibile con la finestra
di destinazione del bitmap (con CreateCompatibleBitmap)
e inserire il bitmap nel DC di destinazione (con SelectObject).
Ci sono altre considerazioni da fare sulla dimensione del
bitmap, che probabilmente dovrà essere adattata "blittandola"
(BitBlt) dal suo DC a uno di transizione e modificata (StretchBlt).
 Questo perché non è possibile sapere a priori quale sarà la
risoluzione video della macchina dove ci si troverà ad agire.
Il difficile non è tanto questo. La questione è che per ottenere,
quando è opportuno, un ridimensionamento dell'immagine
occorre sapere quando farlo. Ossia occorre sapere quando
Explorer viene ridimensionato o se la risoluzione video
viene modificata. Questo non so se si può fare in VB.
Dovrei innestare, provo a immaginare, una callback nella
WindowProcedure della finestra che mi si attiva ad un
messaggio WM_SIZE. Non saprei come fare.
Forse mi viene in mente qualche cosa di diverso.

 urgente da fare a scadenze ravvicinatissime:
.....ciappini ??
.....idem come sopra
grazie ....comunque
io provo a buttare giu' qualcosa ...poi vediamo che succede
Ciao
Stefano

....grazie
....mi metto subito al lavoro
....se riesco a fare qualcosa di decente lo invio al sito comune.
Ciao
Stefano

 io provo a buttare giu' qualcosa ...poi vediamo che succede
ti attendiamo fiduciosi. ciao, a.