|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2001
Città: Roma Caput Mundi Moto: Ducati SS 750 i.e. Squadra: A.S. Roma 1927 Macchina: 147 M-Jet 140 equini
Messaggi: 698
|
[DOMANDONA!] Cambiare le proprietà di un controllo in un'applicazione, dalla PROPRIA!
Non sò se mi sono spiegato...
Ho la mia applicazione che ravana in una qualsiasi finestra alla ricerca di informazioni: handle, style, class ecc...e ok questo e facile! veniamo al dunque: vorrei trovare il modo di evidenziare un controllo (una textbox ad esempio) quando sempre per esempio ci clicco sopra...posso cambiare il colore di fondo di quella textbox? grazie!
__________________
...la voglia di guardarti e dirti sulle labbra...quanto ti ho aspettata...è il senso della vita... ...quando tutto questo sarà io ci sarò...anche se tutto questo mai sarà ci sarò... <about me> <my photo gallery> Ultima modifica di f@bio80 : 15-11-2004 alle 10:33. |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Oct 2004
Città: Roma
Messaggi: 124
|
Se ho ben capito, tu vuoi accedere a finestre create da un thread di un altro processo; se è così lo puoi fare tranquillamente perché gli handle di finestre sono globali (l'unica cosa che non si può fare dall'esterno è leggere il testo degli edit).
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2001
Città: Roma Caput Mundi Moto: Ducati SS 750 i.e. Squadra: A.S. Roma 1927 Macchina: 147 M-Jet 140 equini
Messaggi: 698
|
intanto grazie per l'intervento!
sicuramente l'handle del controllo che ho sotto al mouse ce l'ho eccome...il problema non è leggere il contenuto della casella di testo (tra l'altro lo puoi fare con GetWindowText) ma cambiarne una proprietà come la backcolor! non riesco a trovare un'api che mi permetta di fare questo...tra l'altro ho sotto mano un programma (compilato purtroppo, il source code costa 100 € il programma è Greatis Windowse, se ti và di dargli un'occhiata!
__________________
...la voglia di guardarti e dirti sulle labbra...quanto ti ho aspettata...è il senso della vita... ...quando tutto questo sarà io ci sarò...anche se tutto questo mai sarà ci sarò... <about me> <my photo gallery> |
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Oct 2004
Città: Roma
Messaggi: 124
|
Scusa se ti contraddico, ma ribadisco: da un processo esterno non puoi utilizzare GetWindowText; se la usi ti ritorna una stringa vuota (provare per credere...). Comunque per cambiare il colore di sfondo devi cambiare l'handle del brush della WNDCLASS utilizzando SetWindowLong, SetClassLong, ecc.
Se invece vuoi modificare le dimensioni basta che usi MoveWindow oppure SetWindowPos, e se vuoi abilitarla/disabilitarla usa EnableWindow; infine per nasconderla o mostrarla usa ShowWindow. A tutte queste belle funzioni API corrispondo altrettanti messaggi, come WM_ENABLE, WM_SHOWWINDOW, WM_MOVE, WM_SIZE, ecc. Ultima modifica di 71103 : 15-11-2004 alle 23:25. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 2001
Città: Roma Caput Mundi Moto: Ducati SS 750 i.e. Squadra: A.S. Roma 1927 Macchina: 147 M-Jet 140 equini
Messaggi: 698
|
scusa ma credo proprio che abbia ragione io sulla getwindowtext, la uso decine di volte all'interno della mia applicazione! d'altra parte vuole un handle! prova a passargli l'handle di una textbox di una form esterna, che non fà parte del progetto, e vedrai che ti ritorna il contenuto della textbox stessa...e ricorda di dimensionare la stringa che ti ritornerà il testo!
ma torniamo a noi! ho notato, sempre usando windowse, che esiste una proprietà della classe che è bkg brush...forse è questo l'handle del brush di cui mi parli...ma purtroppo su una form che ha textbox con colori differenti questo valore è sempre lo stesso! io continuo a sbattermi...se hai qualcosina di già pronto, magari un esempietto...
__________________
...la voglia di guardarti e dirti sulle labbra...quanto ti ho aspettata...è il senso della vita... ...quando tutto questo sarà io ci sarò...anche se tutto questo mai sarà ci sarò... <about me> <my photo gallery> |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Per cambiare lo sfondo c'è SetBKColor...
Il problema è che per farlo persistente credo che tu debba settare un hook di sistema sul messaggio WM_PAINT e riapplicarlo tutte le volte... Ultima modifica di cionci : 16-11-2004 alle 12:07. |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2001
Città: Roma Caput Mundi Moto: Ducati SS 750 i.e. Squadra: A.S. Roma 1927 Macchina: 147 M-Jet 140 equini
Messaggi: 698
|
il fatto della persistenza non è un problema, devo colorare i controlli solo quando gli dò il focus dalla mia applicazione...come si una la setbkcolor?
__________________
...la voglia di guardarti e dirti sulle labbra...quanto ti ho aspettata...è il senso della vita... ...quando tutto questo sarà io ci sarò...anche se tutto questo mai sarà ci sarò... <about me> <my photo gallery> |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Devi ottenere l' HDC del controllo e poi ci applichi la SetBKColor...
http://msdn.microsoft.com/library/de...tdraw_433m.asp |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:51.



















