Witam,
właśnie się u was zarejestrowałem.
Mam następujący problem: w VisualStudio2005, piszę aplikację w formie Windows Form Application w .net. Używam raczej C++ ponieważ w miarę dobrze go znam, ale nie o to chodzi. Otóż mam problem tego typu, że tam można zdefiniować BackgroundImage dla okna aplikacji, a następnie ustawić opcję TransparencyKey dla danego koloru i nasza aplikacja przybiera dowolny kształt - TransparencyKey ustawia kolor, który ma być przezroczysty. Do tego można ukryć obramowanie okna i zostaje nam okno aplikacji w zupełnie dowolnym kształcie. I tutaj tkwi mój problem, ponieważ gdy ukryjemu obramowanie to tracimy możliwość przesówania okna. Ma ktoś pomysł jak zrobić aby można było taką aplikację normalnie przesówać? Będę wdzięczny za wszelkie informacje.
W skrócie to byłoby tak:
Boolean isMoving = false;
Point offset = new Point ();
private void Form1_MouseDown (object sender, MouseEventArgs e)
{
isMoving = true;
offset = new Point (Cursor.Position.X - this.Location.X, Cursor.Position.Y - this.Location.Y);
}
private void Form1_MouseUp (object sender, MouseEventArgs e)
{
isMoving = false;
}
private void Form1_MouseMove (object sender, MouseEventArgs e)
{
if (isMoving)
this.Location = new Point (Cursor.Position.X - offset.X, Cursor.Position.Y - offset.Y);
}
W skrócie to w 100% o to mi chodziło.
Dzięki wielkie!!!!!
Są może jakieś inne sposoby? Bo z chęcią się dowiem... :)
http://4programmers.net/Delphi/Artykuły/Przezroczysta_forma na pewno da się na inny język przepisać.
Mam teraz jeszcze jedno pytanie: w mojej aplikacji cały interfejs robię sam i teraz np przyciski zamknij, minimalizuj itp po najechaniu myszą będą się zmieniać tak jak w standardowym windowsie. Da się tak zrobić, żeby te ikony załączyć do projektu, tak żeby po skompilowaniu zawierałe się w exe'ku?
Teraz mam tak zrobione, że po najechaniu wskazuję ścieżkę do bitmapy, która jest na dysku, ale przy takim rozwiązaniu muszę mieć osobny folder z grafiką, co nie jest dobrym rozwiązaniem, ponieważ każdy może mi te grafiki pozmieniać...