Newsgroup: it.comp.programmare.win32
Titolo: "Customizzare" Winzozz - my 1st App

Yup!
C'è l'ho fatta!(a capirci qualcosa...) et voilà, ecco una prima App ROZZA e
Primitiva
(se deste un occhiata al codice vi mettereste le mani nei capelli...)  ma
abbastanza funzionale...
Praticamente sulla title Bar (comprendendo anche i vari buttons...) ho
disegnato un rettangolo (con FillRect) e inserito del testo che cambia a
seconda dei messaggi ricevut dalla finestra (Resize, on Minize Button, on
Caption Bar etc. ect.) che tra l'altro mi ridisegnavano la finestra
originale (il blocco dei bottoni Min, Max, Close in particolare...), ma
alla fine li ho fregati eh eh!!!!
(Prossimamente utilizzerò un Bmp da "appiccicare" sulla nostra cara
finestra...)
Ci sono ancora PARECCHIE cose da Fixare...(e da comprendere...), ma spero di
essere sulla buona strada...
Il problema più grosso(come ho già detto qualche Post fa) sarà di
implementare queste
"customizzazioni" x TUTTE le finestre (non solo quella della mia App) del
caro Winzozz!!! (Global SubClassing et Hooks..credo).
ThankZ++!
Maurizio

 wrote in message
news:7srblm$r9b$1...@nslave1.tin.it...


alla fine li ho fregati eh eh!!!!
Mi piacerebbe sapere come hai fatto! :-)
P.S. Nel precedente thread avevi detto di aver trovato un articolo nell'MSDN
riguardante il ridisegno della title bar di un'applicazione. Potresti
indicarmi dove si trova (nella documentazione su CD, non quella On-line)?
Grazie in anticipo
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------


ma pensa...
...non te la prendere, ma secondo te, a cosa mi sono ispirato x questo
tentativo di programmazione?
Eppoi un conto e vederlo fare agli altri, un conto è farlo TU!
..è qui il bello, tenuto conto che è poco che programmo sotto Win32, sto
imparando un mucchio di cose...
Bye !
maurizio

 wrote in message
UGrI3.8969$nP6....@typhoon.libero.it...



L'idea è buona per una SINGOLA app, ma il mio intento era di sostituire la
DefWindowProc (x tutte le windows!) quindi è meglio non operare un
cambiamento così drastico... ma non si mai, appena sarò un po' + ferrato
sull'argomento ci farò un penZierino (alle finestre con "trasparenze")!
Ciao!
Maurizio X

Ehm.. riguardo al mio Post di prima...
Spero che non ti arrabbi x il tono che ho usato...
...non volevo assolutamente essere polemico!
Sorry again... ;)
Maurizio




Maurizio
Saluti,
    Mardy

Finestre che si aprono con l'effetto dissolvenza , actors , etc.)
Il problema è: se creo una finestra trasparente sovrapposta come faccio a
sapere dove sono i controlli (i pulsanti di chiusura, ecc) per evitare di
sovrascriverli oppure quando c'è necessità di di ridisegnare il tutto?
Un'ultima cosa: cosa è quell' "actors" che hai citato tra i vari effetti
ottenibili?
Grazie per l'interessamento
Ciao, Giuseppe
---------------------------------------------------------------------------


tutto questo sia possibile, sarebbe illegale?
Credo che questo richieda la riscrittura di un pezzo di windows.
In pratica dovresti riscrivere almeno il modulo che esporta tale 
funzione. Una soluzione stile intercettare al volo la chiamata e
sostituirla, se consentita dal s.o. sarebbe una gravissima carenza
in fatto di sicurezza e affidabilita` (anche se bisogna sempre
fare i conti con win9x).
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------

 tutto questo sia possibile, sarebbe illegale?
Illegale? e perchè?
Maurizio...X

Ehm.. non so che dire...Io non ho avuto tutti questi problemi, la mia App
funziona benissimo (ora ho implementato il disegno di una bmp nella title
Bar) tutto viene disegnato correttamente (i bottoni non riappaiono +, basta
intercettare WM_NCACTIVATE e i msg di Resizing che richiamano ,
evidentemente, il ridisegno dei bottoni di Min,Max,Close... non ho ancora
fixato il problema in caso di click sul pulsante..)
Tra l'altro non ho mai utilizzato l'HRGN della finestra...
Il problema dei bordi "bianchi" o inesistenti e cosacce strane mi succedeva
quando non restituivo (al momento opportuno cioè PRIMA di eseguire le mie
operazioni di disegno) il controllo alla DefWindowProc...
Maurizio

 wrote in message
qlPI3.13525$nP6.1...@typhoon.libero.it...


Ehm.... ho usato questo sbj. per attirare l'attenzione di tutti coloro che
hanno preso parte al thread avviato qualche giorno fa...
Volevo solo fare una domandina (forse idiota) ma leggendo le vostre
discussioni mi sono sentito un pň come un bimbo al circo che vede per la
prima volta gli elefanti (non voglio essere offensivo, intendevo dire che mi
sono sentito davvero insignificante). Posso sapere dove le avete imparate
tutte quelle cose? Io so a mala pena aprire una finestra, schiaffarci dentro
una bitmap o un testo, gestire gli eventi del mouse e della tastiera,
avviare timer... e niente di piů. Dialog e Menů chiaramente solo attraverso
il resource editor, niente con API. E finchč si parla di dati quali HDC,
HINSTANCE, HWND capisco, ma con i vari HPROCESS, HRGN, H... ACQUA! Come si
fa a imparare veramente qualcosa (come voi) visto che tutti i libri che ho
comprato finora spiegano o linguaggi (libri di C e C++ con qualche accenno
alle librerie) o librerie ad alto livello (MFC, VCL, che personalmente, odio
ed evito accuratamente).
Ciao e scusatemi se sono stato un pň patetico.
--
Fabio Carosio [aka King Richard]
e-mail 
sigfri...@libero.it
ICQ# 38797783
home 
http://persone.digiland.it/1125

Qualche osservazione:
5) Le funzioni Draw* probabilmente usano internamente LoadImage (vedi help)
per caricare i bitmap predefiniti. Fai una ricerca in winuser.h di "OBM_" e
li troverai. Immagino che i bitmap siano risorse di user32.dll, ma col
VC++40 non sono riuscito a trovarle. Se si riuscisse a modificarli...
Saluti,
    Mardy


...tranquillo, non è che io sia poi molto più avanti di te...
ma questo argomento (customizzare tutto e di +) mi ha dato un stimolo ENORME
x approfondire la programmazione di Win32 che avevo un po' abbandonato...
Io avevo iniziato con le MFC (Microsoft Foundation Classes) e ora mi ritrovo
con le VESP.. ehm no le API di Win32 che sono un po' meno immediate, ma
molto + efficaci ( in ALCUNI casi...).
Ad ogni modo, libri a parte (che non ti spiegano una mazza o quasi... pensa
che dal sunto di 4(!) libri che ho comprato sono riuscito a cavare qualcosa
di comprensibile...) la fonte PRIMARIA di informazione sono i 2 CD del
Microsoft Developer Network (MSDN) del Visual C++ 6.0, che contengono tutto
(o quasi) lo scibile su WIN 32 (e non solo...) o in alternativa c'è il sito
Microsoft con l'MSDN on-Line...
Coraggio! Se c'è l'ho fatta io ( a fare qualche passo avanti...)... e ho
detto tutto...
Bye! Maurizio (Mau Xor)




[snip]
Un actors (soprattutto se compie operazioni complesse) deve essere un
qualcosa di molto carino per un'applicazione :-)
Grazie per tutte le info.
Ciao, Giuseppe
---------------------------------------------------------------------------


Ciao e scusatemi se sono stato un pň patetico.
uh?
Saluti,
    Mardy

Paolo
Saluti,
    Mardy

tutto il sistema.
Credo che la cosa sia molto piu` complicata, quantomeno per via della 
rilocazione e dei meccanismi di protezione.


Pensavo alla semplice sostituzione dei primi byte della funzione (per es.
Mica puoi cancellare del codice binario così, come se niente fosse! Sai che
significato hanno i primi bytes (istruzioni)?


Ciao, Giuseppe
Saluti,
    Mardy

Hmmm..., credo che il tutto sia piu semplice di quanto pensiate....(tempo fa
anch'io ero come voi :)
Credo che a breve vi "putterò" del codice al riguardo.
Bye !
P.S. ;)

Dacci un indizio almeno no ?
--
Ciao , Ricardo Antonio Piana
(Rico per gli amici)
ricard...@tiscalinet.it
______________________________________________
Tutti i miei racconti , alcune poesie ed altro nel mio sito
http://web.tiscalinet.it/ricardopiana
______________________________________________