Avatar billede hugopedersen Nybegynder
04. marts 2012 - 11:40 Der er 4 kommentarer og
1 løsning

Finde hjørner af MDI form

Jeg har en app hvor main form er en fsMDIForm
I denne app har jeg så et antal andre forms hvor ikke alle er fsMDIChild og det bevirker så at formene kan flyttes op over min ribbon (DevExpress) og det er egentlig ret irriterende

Jeg har en funktion jeg kan slå til som bevirker at forms ikke kan flyttes uden for kanten af skærmen og denne ville jeg så gerne udvide til at virke inden for området af min fsMDIForm
Så det jeg har brug for er at kunne finde hjørnerne af det område jeg har tilgængelig i den form.

Håber det giver mening og måske kan afføde nogle gode input til en løsning.
Avatar billede martinlind Nybegynder
04. marts 2012 - 22:48 #1
Clientrect

Men du kunne også sætte parant på din form og fjerne borders :-)
Avatar billede hugopedersen Nybegynder
05. marts 2012 - 08:23 #2
Mit 'problem' er at jeg har en del forms som jeg bruger i alle apps (About, DB Setup o.s.v.) og hvis app er en MDI så skal disse forms kun kunne flyttes rundt i MDI vinduesområdet mens de hvis der er en ikke MDI app godt må flyttes rundt på hele skrivebordet.
Avatar billede hugopedersen Nybegynder
05. marts 2012 - 10:29 #3
Det foreløbige resultat blev:

Windows.GetWindowRect(Application.MainForm.ClientHandle, aRect)

Det giver mig et nogenlunde fornuftigt resultat.
Avatar billede hugopedersen Nybegynder
05. marts 2012 - 10:56 #4
Det hele ender op i en funktion

function GetMovementArea: TRect;
var
  MovementRect: TRect;
begin
  if Application.MainForm.FormStyle = fsMDIForm then
    Windows.GetWindowRect(Application.MainForm.ClientHandle, MovementRect)
  else
    SystemParametersInfo(SPI_GETWORKAREA, 0, @MovementRect, 0);
  Result := MovementRect;
end;
Avatar billede hugopedersen Nybegynder
19. marts 2012 - 05:43 #5
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