Mam zrobic progam w delphi 7 ktory ma zawierac 3x panel, ktore maja byc ulozone obok siebie, po naciesnieciu lewego przycisku ma sie podswietlic lewy panel, po nacisnieciu srodkowego przycisku srodkowy panel i po nacisnieciu prawego przycisku prawy panel, panel znajduje sie w zakladne standard przed ostatni element, wiem ze to trzeba wpisac w events tylko nie wiem gdzie? i co? do tego trzeba uzyc klawiszy wirtualnych,
może zacznij od hello world
Więc czego nie wiesz? Jak je poukładać na formularzu? Jak zmienić ich kolor? Czego?
A może zadam inne pytanie - pisałeś kiedyś cokolwiek w Delphi..? Bo jak na razie widać, że zielonego pojęcia o programowaniu nie masz; Może najpierw przeczytaj jakiś kurs z sieci, a dopiero potem weź się za pisanie jakichkolwiek programów.
To ja Tobie podpowiem. Użyj zdarzenia OnMouseDown
. Jak widzisz posiada ono parametr Button
(typu TShiftState
. A TShiftState
to zbiór następujących wartości TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble);
. Takze obsłuż tylko konretne dla każdego panelu, rozróżniając odpowiednio rzutując parametr Sender
. Wtedy wszystko osiągniesz we wspólnym zdarzeniu dla wszystkich trzeba paneli.
Jeżeli natomiast reakcja na klikanie myszką ma być globalna dla systemu, bo tego nie sprecyzowałeś - to pozostaje tylko globalny hook WH_MOUSE_LL
(stała równa 14). Niestety potrzeba do pomyślnego zastosowania hooków low levelowych, jak ten - praw administratora. Czyli na systemie z włączonym UAC może się to nie powieść. Można także stworzyć moduł lub klasę, która będzie w wątku odczytywać co na przykład 100 milisekund rezultat funkcji GetAsyncKeyState
. Tylko należy pamiętać - co wspomniano w opisie funkcji na MSDNie, że odczytuje ona jeśli chodzi o myszkę, fizyczne klawisze, a nie logiczne. Ale to czy klawisze nie są zmieione również można sprawdzić.
Więcej znajdziesz wykazując trochę chęci i samodzielności, googlując za odpowiednimi informacjami. Jeżeli natomiast się Tobie nie chce, to możesz zlecić wykonanie takiego programu za odpowiednią opłatą w dziale Oferty pracy.
dziekuje olesio za pomoc, gdy pisalem post zapomnialem napisac ze po naciasnieciu lewego przycisku "myszy" ma sie podswietlic lewy panel itd.