Vra

Ek het 'n paneel en sit dit aan die skerm te vul, nou kan ek die vensters onder dit sien, maar ek wil hê dit moet wees deur te druk, wat beteken dat hulle kan 'n lêer op of sien 'n instrument punt van 'n ander voorwerp deur die deursigtigheid.

  
    

RE:? Dit is dalk te voor die hand liggend te wees, maar het jy al probeer om die stuur van die paneel aan die agterkant deur regs te klik en die keuse van 'Naar agtergrond "

  

Ek bedoel soos die lessenaar of firefox, nie iets binne my projek.

Was dit nuttig?

Oplossing

Die skep van 'n boonste vlak vorm wat deursigtig is baie maklik. Maak net dit die skerm, of vereis area vul, en definieer dit om 'n TransparenyKey kleur en BACK COLOR van dieselfde waarde het.

Om dit te die muis te ignoreer is eenvoudig genoeg, jy net nodig het om die WndProc ignoreer en vertel die WM_HITTEST dat alle muis posisies is so deursigtig te behandel. So veroorsaak die muis om in wisselwerking met wat ook al gebeur om te wees onder die venster. Iets soos hierdie ...

    protected override void WndProc(ref Message m)
    {
        if (m.Msg == (int)WM_NCHITTEST)
            m.Result = (IntPtr)HTTRANSPARENT;
        else
            base.WndProc(ref m);
    }
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top