Тема: GetWindowRect
Показать сообщение отдельно
Старый 13.07.2011, 10:33   #5
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: GetWindowRect

Сообщение от .Squid Посмотреть сообщение
Если нужно отцентрировать окно, то сначала получаешь его размеры (у тебя уже есть).
Затем получаешь размер декстопа:
int dx = GetSystemMetrics(SM_CXSCREEN);
int dy = GetSystemMetrics(SM_CYSCREEN);
Центрируешь:
int x = (dx - width) >> 1;
int y = (dy - height) >> 1;
SetWindowPos(rWnd, HWND_TOP, x, y, width, height, SWP_SHOWWINDOW);
НУ, собственно - так и собирался (только размеры декстопа через его дескриптор хотел GetDesktopWindow). Но всё равно костыли - размеры окна своего придётся либио фиксировать либо кажный раз править исходник (т.к. GetWindowRect примешивает к размерам ещё и смещение левого края, а GetClientRect не учитывает ряд отсупов).
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием