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

Стал искать альтернативные пути.
Сперва хотел через
GetWindowInfo получить структуру WINDOWINFO, но оно чего-то заломалось, да и чрезмерно монструозно.
Поэтом применил другой костыль.
GetWindowPlacement и анализ поля rcNormalPosition структуры WINDOWPLACEMENT
int tx,ty;
	HDWP windefer;
	WINDOWPLACEMENT GCodeInfo;

	int DeskTopXSize=GetSystemMetrics(SM_CXSCREEN);
	int DeskTopYSize=GetSystemMetrics(SM_CYSCREEN);

	GCodeInfo.length=sizeof(WINDOWPLACEMENT);
	GetWindowPlacement(hSplashWnd, &GCodeInfo);

	int width=GCodeInfo.rcNormalPosition.right-GCodeInfo.rcNormalPosition.left;
	int height=GCodeInfo.rcNormalPosition.bottom-GCodeInfo.rcNormalPosition.top;

	tx=(DeskTopXSize - width) >> 1;
	ty=(DeskTopYSize - height) >> 1;
Можно аналогично запилить и центровку относительно родительского окна. В моём случае, достаточно по декстопу.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием