Chciałem prosić was o pomoc, w jednej małej sprawie. Czy mogłby ktoś odpowiedzieć mi na pytanie w jaki sposób stworzyć formę, za ktorą nie będą znikały inne okna ? (chodzi to o program w stylu pulpitu Windows) Za pomoc z gory wielkie dzięki.
No pulpit to nie jest ale masz prawidłową odpowiedź:
w Inspektorze objektów znajdź:
FormStyle (będzie ustawione na fsNormal)
zmień z fsNormal na fsStayOnTop
:) i wszystko jasne :)
Jeszcze mozesz dac tak na inne formy ale nie trza.. (sam zobaczysz) DefaultMonitor zmienić z dmActiveForm na dmDesktop ale nie zmieniaj :) to pierwsze to odpowiedź, a to tak po boku :)
Pozdro
ql-GORTH co ty mu tu mieszasz?
On napisal ze chce zrobic forme za ktora nie znikaly by inne okna a nie forme ktora bedzie zawsze na wieszchu. A wiec fsStayOnTop raczej nie pomoze, a nie wiem jak to inaczej zrobic...
Pozdrawiam @ll--Rafalrs
Ustaw wartość FormStyle formy głównej na MDIForm a form potomnych na MDIChild.
W faq jest coś takiego:
- Nie działa "StayOnTop". Co robić?
Czasami "fsStayOnTop" nie działa. W takim wypadku możesz zrobić coś takiego:
SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, Height, 0);
Jak jest HWND_TOPMOST to może jest też na samym dole ? Poszukaj może znajdziesz.
--Delphi 6
Pozdrowienia,
Imperior
Sorry źle zrozumiałem pytanko :)
hehe :) i nikt nie krzyczał tylko tak fajnie napisał tamten gościu - widać, że gościu ma kutlure w sobie, inny to by od k***** mnie wyzywali :)))))) SERIO!!!!!
Pozdro
Za okazaną mi pomoc bardzo dziękuję i jeśli ktoś wpadnie na pomysł jak stworzyć program w stylu pulpitu Windows niech pisze!!!!!!!!! Jeszcze raz serdecznie dziękuję ;-))))))))))))
Był kiedyś taki komponęt do robienia przezroczystych skórek, może się przyda.
http://www.greatis.com/formskin.htm
Moze jakbys zrobil przezroczysta forme (przez AlphaBlend) to by za nia okna nie znikaly? Ale trzeba miec Winde 2000 lub XP--Pawel
Delphi6
mam jeszcze nastepujacy pomysl: obsluz OnPaint formy:
procedure TForm1.FormPaint(Sender: TObject);
begin
SetWindowPos(Form1.Handle, HWND_BOTTOM, Form1.Left, Form1.Top,
Form1.Width, Form1.Height, SWP_NOACTIVATE);
end;
Bedzie prawie dobrze. Prawie, bo aktywacja formy (np klikniecie na pasku zadan) spowoduje ze sie ona pojawi na ulamek sekundy na wierzchu, ale zaraz sie schowa pod spod.--Pawel
Delphi6