WorkArea i windows

Tags:    delphi

Jeg er ved at lave en smart lille bar der skal være i toppen af skærmen med info om cpu, ram, harddisk osv..
Jeg har fået den docket til toppen med denne kode jeg fandt: http://tmcg.dk/stickyform.zip
Men hvis jeg nu maksimere et vindue så går den op under min far/form i toppen og det skal den ikke.

Hvordan får jeg min dockede form i toppen til at være "en del af explorer" så andre vinduer ikke åbner op under den?
Jeg vil meget gerne hav et kode eksempel tak!

(Har hørt det er noget med SET_WORKAREA i Win32 api'en men er ikke sikker)



6 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Nååå.
Tror jeg ved hvad du mener.
På min computer, har jeg fået lavet en knap, hvor at når man trykker på den, minimere ALT og viser skrivebordet. Men det gælder jo også dit program.
Vil du have at det ikke bliver minimeret?

I såfald ved jeg det ikke.
Men for at ungå at folk rykker på den, så set den til at ikke at have nogle sider :D


Shafh
Shafh@stofanet.dk
Theis F. Hinz

En professionel er en person, som kan gøre sit bedste på tidspunkter,hvor han ikke ligefrem føler for det.



Jeg tror du vil kunne bruge følgende link:

http://www.undu.com/Articles/990906h.html

Har lige prøvet det første, og virker umiddelbart præcist som du vil have det. Det enste problem jeg lige kan se, er når et andet program går ind og skifter WorkArea'et...

Så ja, du havde ret i det var noget WorkArea, et par søge ord på google og svaret havde været der :)

---
Hilsen Anders



Det du skal bruge er en teknik der hedder AppBar. Jeg kan ærligt talt ikke huske hvordan man bruger det, men søge evt. på google efter Delphi+AppBar.

En AppBar er en særlig form som er docket til top, bund, højre eller venstre side af skærmen. Menubaren i Windows er en appbar. Hvis du kender Office ToolBaren som følger med Office pakken har du et andet eksempel på en AppBar.

Slå det evt. op i Windows SDK hjælpe filerne som følger med Delphi.

Jeg har ikke nogen kode eksempler at give dig, men det er rimeligt nemt at finde noget om AppBars.

--
Thomas Due
Software developer
udvikleren.dk - ASP redaktør
tdue@mail.dk



Det er muligvis mig, men jeg forstår ikke 100% dit spørgsmål...


Men jeg mener at du siger at det skal kunne ses, ALTID...

Det kan du med:

FormStyle: FsStayOnTop


Shafh
Shafh@stofanet.dk
Theis F. Hinz

En professionel er en person, som kan gøre sit bedste på tidspunkter,hvor han ikke ligefrem føler for det.



Det er muligvis mig, men jeg forstår ikke 100% dit spørgsmål...


Men jeg mener at du siger at det skal kunne ses, ALTID...

Det kan du med:

FormStyle: FsStayOnTop


Shafh
Shafh@stofanet.dk
Theis F. Hinz

En professionel er en person, som kan gøre sit bedste på tidspunkter,hvor han ikke ligefrem føler for det.


Jeg har gjort det, men det er ikke noget med det at gøre rigtigt...
Jeg ved ikek hlet hvordan jeg skal omformulere spørgsmålet.



nej nej nej nej!!
Det er overhovedet ikke det jeg mener!

Så prøver vi at forklare det igen på en anden måde:
Jeg er ved at lave et shellreplacement og skal jo bruge en taskbar. Den skal være enten i toppen eller bunden af skærmen. Lidt som den sorte bjælke i toppen på dette screenshot http://www.hulubulu.dk/pic/desktop.gif (Det er et program der hedder WinExt og er lavet af BOSH her på udv.dk)
Men når man så har lukket explorer.exe (som normalt er taskbaren) og så åbner mit program som er docket til bunden/toppen af skærmen, så åbner vinduerne under mit program, for ejg har sat mit program til AlwaysOnTop.. Og programmerne skal jo ikke kunne komme under min taskbar. De skal kun kunne maksimeres så deres bund er lige over min taskbar! For hvis man i windows maksimere et vindue så går det jo ikek tilat fylde HELE skærmen, men kun ned til taskbaren.


Håber virkelig det hjalp, og at jeg snart for et brugbart svar!



t