Window Client Area (API)... HELP!!!

0

[pomocy] Chodzi o API, potrzebuję otworzyć okno o konkretnych wymiarach wewnętrznych. A więc potrzebuję cos co pokaże mi jaki rozmiar ma client area (w pixlach), albo też jak grubą ramkę i pasek tytułowy ma okienko. Ewentualnie potrzebuję klucza do odczytu rejestru tego do właściwości schematu wyglądu ekranu (Panel sterowania> ekran> wygląd> schemat> element - to tam, gdzie są opisane te dingsy przynajmniej w łingrozie 95/98/nt )

I czy można / w jaki sposób można ustawiac te parametry dla kazdego okna z osobna?

Nigdzie nie mogę znależć odpowiedzi. HELP.
Z góry dziękuję. [glowa]

0

Ustawienie area client:
[code]Form1.ClientHeight:=10;
Form1.ClientWidth:=10;[/code]

Odczyt:

[code]Form1.Height - Form1.ClientHeight = szerokość_obramowanie_i_paska_tytułu[/code]

0

Thnx, Krecik, ale nie oto cho. API, API! Plizzzzzz. Żadnych klocków.

function GetWindowInfo(hwnd: HWND; var pwi: TWindowInfo): BOOL; stdcall;
BOOL WINAPI GetWindowInfo(HWND hwnd,  PWINDOWINFO pwi);

Tyle juz wiem... W twindowinfo (pwindowinfo) jest informacja. Ale jak to teraz pozmieniac??? Jak ustawić w okienku pozyję i rozmiar client area? Czy musi to byc prostokąt? Czy można zrobić dowolny wielokąt? Chodzi mi o to, żeby ułozyc sobie dokładnie taka ramke, jaką potrzebuję.

0

Jeśli chodzi o ustawienia systemowe, takie jak np. grubość ramki, przeczytaj opis funkcji: GetSystemMetrics, SystemParametersInfo.

Jeśli chodzi o okna nie-prostokątne, przeczytaj opis: SetWindowRgn + CreateRoundRectRgn, CreatePolygonRgn, CreateEllipticRgn.......
example: FormCanResize:

  SetWindowRgn(
    Handle,
    CreateRoundRectRgn(0, 0, Width, Height, 10, 10),
    True
    );

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