[Delphi] Forma na desktopie

0

Witam mam nadzieje ze to co napisze bedzie w miare zroumiale i ze bedzie ktos w stanie mi pomoc
Moje pytanie wiaze sie z tym jak mozn zrobic by forma byla widoczna na desktopie jak np w programie Quick Notes Plus ze mimo minimalizacji wszystkich okien te "nalepki" nadal sa widoczne czy jest do tego potrzebny jakis komponent czy ktos moze wie gdzie znalezc pozyteczny kodzik ?

Dla tych ktorzy <ort>niewidzieli </ort>tego programu: forma ktora sie pojawia <ort>nieslucha </ort>sie zadnych komend <ort>minimalizaci </ort>okien i jest caly czas widoczna wiem jak zrobic zeby forma byla AlwaysOnTop ale jak zrobic by nie poddawala sie minimalizacji np gdy wciskamy ikonke Pokaż Pulpit

Z gory dzieki za pomoc

0

biorac pod uwage temat postu (ktory, nawiasem mowiac, troche sie rozni od problemu przedstawionego w poscie), zakladam, ze o to Ci chodzi....
program bedzie wyswietlany tylko i wylacznie na pulpicie (tzn. nie bedzie mogl wystawac ponad inne okna) a tym samym nie bedzie reagowal na "pokaz pulpit":

procedure TForm1.FormCreate(Sender: TObject);
var H:Integer;
begin
H:=FindWindow('Progman',nil);
Windows.SetParent(Form1.Handle, H);
end;

chociaz, teraz to sam juz zglupialem, bo niby chcesz mies AlwaysOnTop.... :-/

NIE!!
jednak mam!!
prymitywne, ale dziala ;]
daj w timer (interval na oczywiscie 1).

procedure TForm1.Timer1Timer(Sender: TObject);
begin
SetWindowPos(Form1.Handle, HWND_TOPMOST, Left,Top,Width,Height, SWP_SHOWWINDOW);
end;
0

Nareszcie ktos sie odezwal :)

Wielkie dzieki wiem ze troszke nagmatwalem :) ale WIELKIE dzieki

0

Witam!

Pisząc jedną z aplikacji też potrzebowałem podobnego roziwązania i wymyśliłem tak samo ale uważam, że korzystanie z timer jest czasochłonne i nieeleganckie. "Pokaż pulpit" na pewno wysyła do naszej aplikacji jakiś komunikat. Może ktoś wie jaki i jak go przechwicić i obsłużyć. Wtedy po jego otrzymaniu można by wywołać funkcję z timera.

Krzysztof

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