Italian community of Lazarus and Free Pascal
Programmazione => Generale => Topic aperto da: Narciso - Agosto 24, 2018, 11:17:28 am
-
Dovrei mandare un messaggio ad una stringGrid di cui conosco l'handle.
Se fosse un Bottone,manderei:
SendMessage(H, BM_CLICK, 0, 0);
Alla Stringgrid che messaggi si possono mandare?
mi servirebbe pulirla con , per esempio, qualcosa del tipo:
SendMessage(H, _clear, 0, 0);
EH EH vi sto stressando questo periodo eh.http://www.lazaruspascal.it/Smileys/default/grin.gif
Grazie a tutti!
-
Dovrei mandare un messaggio ad una stringGrid di cui conosco l'handle.
...
Alla Stringgrid che messaggi si possono mandare?
...
mi servirebbe pulirla con , per esempio, qualcosa del tipo:
SendMessage(H, _clear, 0, 0);
per sapere quali messaggi puoi mandare alla string grid puoi fare riferimento ai sorgenti:
dalla classe TControl in avanti fino a TStringGrid
basta cercare i metodi con la keyword "message" nella dichiarazione.
se non ne trovi uno adatto puoi sempre fare una classe che erediti da TStringGrid e puoi metterci un tuo metodo che risponda ad un tuo messaggio
però...
sei sicuro che non ti basti
? ;)
-
Il problema è che la stringrid si trova su un programma che intercetto con findwindow ed enumeratechild
della stringgrid ho solo l'handle, ecco perché le devo mandare un messaggio.
Quando dici che devo esaminare i sorgenti, intendi i file .pas tipo grid.pas ?
-
esattamente
ricorda che per trovare i sorgenti di una classe è sufficiente un Ctrl+Click (sx) sul nome della classe ;)
-
allora, non era una stringgrid ma una SysListView32
si vede che il software non era in pascal:-)
ma ho trovato che per cancellare gli item si doveva dare
sendMessage(strlstf1, LVM_deleteitem, 0, 0);
cio' ha risolto i miei problemi! :-)
Grazie Comunque a tutti!
-
La string grid sotto window non ha senso.
Il sistema operativo non la conosce. Avresti potuto intercettare la form e inviare messaggi custom alla form che poi le avrebbe tradotte per la string grid.
Per la list view (configurata come report se ti ha ingannato il suo aspetto) questa è
La pagina di riferimento del messaggio: https://docs.microsoft.com/en-us/windows/desktop/controls/lvm-deleteitem
-
Questi i messaggi per la list view
https://docs.microsoft.com/en-us/windows/desktop/controls/bumper-list-view-control-reference-messages
Buon divertimento 😉