Forma bez formy

0

Witam:)
Nietypowe pytanie może dla was <ort>skąplikowane </ort>a może wprost przeciwnie.W każdym razie dla mnie czarna magia.

Forma Bez Formy
<ort>Niewiem </ort>jak to napisać hmm?
Potrzebuje aby forma która jest wyświetlana na pulpicie była przezroczysta dla myszy znaczy np. forma coś wyświetla na pulpicie a ja przy <ort>prubie </ort>jej kliknięcia klikam ikone pod nia.

Może ma ktoś jakiś pomysł?
z góry dziękuje
Delphi 7 Enterprise

0

hmmm... jedyne co mi przychodzi to przechwycenie komunikatu kliknięcia myszą na "przezroczystej formie" i wysłanie go do pulpitu (zamiana uchwytów). Kodu nie napiszę bo nie mam czasu, ale próbuj...

0

mozna najpierw narysowac pulpit, pozniej forme. nie dajac tym samym formy na show;

pozniej przechwytywac klikniecia i zdarzenia na komponentach formy + zdarzenia z klawiatury tak aby obsluzyc forme na slepo (chociaz bedziemy ja widziec), musisz wiedziec ze jak masz np,. button na formie to (np. dla wirusow) musisz wiedziec kiedy na niego klikac zeby obsluzyc wlasnie ten event, dodatkowo pozycja kursoraw myszy na formie to

var mpos:tpoint;
getcursorpos(mpos);
FromX := mpos.x-form1.left;
FromY := mpos.y-form1.top;

chyba tak :S

0

Najprostsze rozwiazanie?
Wytnij forme :D
Na OnMouseMove swojej formy zrob wycinanie tejze formy pod cursorem (np wytnij kolko ze srodkiem w miejscu wskaznika). Prosciej: zrob tak, aby pod myszka w Twoim oknie wycinala sie dziura przez ktora bedzie widac pulpit.
A do wycinania przyda sie SetWindowRgn (albo jakos tak) - poczytaj helpa WinApi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1