Domanda

Sto incorporando un'applicazione Windows nella mia applicazione SWT usando 'reparenting'. Quella parte funziona bene. Vorrei ora collegare la mia app SWT nella coda dei messaggi affinché l'app incorporata riceva eventi di spostamento del mouse.

Vedo che la classe OS in SWT ha una serie di metodi interessanti per aggiungere hook ma non sono stato in grado di capire come usarli.

Qualcuno può aiutare?

Grazie

È stato utile?

Soluzione

Questo dovrebbe funzionare, ma si basa sull'uso di reflection per chiamare non API, quindi usalo a tuo rischio.

Usa la riflessione per rendere accessibili Display.addControl () e Display.removeControl (). Quindi, usalo per aggiungere l'HWND dell'applicazione Windows e il controllo proprietario all'oggetto Display. Ora, quando un evento di spostamento del mouse viene inviato all'app incorporata, il controllo corrispondente dovrebbe ottenere un evento di spostamento del mouse.

Per una buona misura dovresti aggiungere un DisposeListener sul controllo proprietario e chiamare removeControl () in modo che gli eventi non vengano inviati all'HWND morto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top