Avatar billede -benne- Nybegynder
07. marts 2002 - 20:15 Der er 10 kommentarer og
2 løsninger

Skærm-størrelse, problem

Jeg har et program, som automatisk skal ligge sig nede i højre hjørne, og dette gør jeg ved at tage screen.width og screen.height - men når folk kører programmer som f.eks. ICQ opstår der det problem, at programmet ligger sig BAG ICQ...

Er der noget jeg kan gøre, så den automatisk dogger i hjørnet ved siden af ICQ?
Avatar billede morten_s Nybegynder
07. marts 2002 - 20:16 #1
det kræver vel at du ved hvor bred din ICQ er og det kan du vel ikke vide
Avatar billede -benne- Nybegynder
07. marts 2002 - 20:18 #2
Nej - netop - og jeg ved heller ikke om brugeren har ICQ åben... Men da alle andre programmet satens kan finde ud at at lægge sig op af ICQ, tænkte jeg at der måske var en løsning?
Avatar billede cms Nybegynder
07. marts 2002 - 20:22 #3
hvordan højre hjørne? Altså over startmenuen eller i system tray? Hvor ligger ICQ? Min er da midt på skærmen...
Jeg kan da godt vise dig kode til at finde ud af om ICQ er åben og finde dens bredde, men der kunne være en nemmere metode hvis jeg forstod spørgsmålet :)
Avatar billede -benne- Nybegynder
07. marts 2002 - 20:25 #4
mange har deres ICQ liggende i højre side af skærmen, hvor den "indskrænker" alle programmer, således at skrivebordet formindskes...
Men hvis jeg i ICQ sætter programmet til at starte nede i højre hjørne af skrivebordet, dækker ICQ'en den, fordi ICQ er OnTop og fordi delphi ikke ta'r højde for det...

Nu er det jo ikke alle der køre ICQ, og der er sikkert også mange andre programmer der lægger sig som spærrer i siden...
Avatar billede laffe Nybegynder
07. marts 2002 - 20:39 #5
Du kan da lave en findWindow på ICQ vinduet. FindWindow returnerer en handle til vinduet. Med denne handle kan du få de præsise koordinater at vide, hvorefter du kan placere dit program i forhold til ICQ vinduet.
Avatar billede -benne- Nybegynder
07. marts 2002 - 20:41 #6
laffe: Nu er det ikke specielt ICQ, men generelt programmer der docker til siden...
Desværre.. :(
Avatar billede laffe Nybegynder
07. marts 2002 - 20:48 #7
2. forsøg.

Du må ku enumere dig gennem alle vinduer (GetTopWindow og GetNextwindow)på desktopen, for så at få deres placering at vide.
Avatar billede laffe Nybegynder
07. marts 2002 - 20:48 #8
Hov, det var et svar øh... eller forsøg på samme.
Avatar billede borrisholt Novice
08. marts 2002 - 08:36 #9
SetWindowPos(Application.Handle,HWND_TOPMOST,0,0,0,0,SWP_SHOWWINDOW);

Den her komando vi sætte din applikation ALLER øverst !

Jens B
Avatar billede -benne- Nybegynder
08. marts 2002 - 10:47 #10
Jens: Takker - men jeg ved ikke hvor glade folk er for jeg lægger mig over deres applikationer, men jeg skal da prøve.. Arbejder pt. på en anden løsning
Avatar billede borrisholt Novice
08. marts 2002 - 12:51 #11
prøv at slå SetWindowsPos op i hjælpen ...
Avatar billede -benne- Nybegynder
14. marts 2002 - 12:53 #12
Fandt den nemme løsning at den bare starter midt på skærmen... ;)
men tak...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester