Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/30: Рейтинг темы: голосов - 30, средняя оценка - 4.73
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
1

GetWindowRect

14.03.2011, 22:33. Показов 6286. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пишу в VS 2008. Так ошибка:
C++
1
2
LPRECT lpRectToolBar;
        GetWindowRect(hToolBar, &lpRectToolBar);
Так тоже
C++
1
2
LPRECT lpRectToolBar;
        GetWindowRect(hToolBar, lpRectToolBar);
В чем проблема?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2011, 22:33
Ответы с готовыми решениями:

аналог GetWindowRect
Господа нужен аналог если он есть функции GetWindowRect , дело в том , что у меня в родительском...

GetWindowRect
с чем может быть связана неотрисовка объекта CRect. ошибок компиляции нет!!! BOOL...

Аналог функции GetWindowRect
Доброго времени суток. Для получения координат окон можно использовать функцию: Declare Function...

GetWindowRect() Почему возвращается не тот размер окна?
почему возвращается не тот размер окна что я задавал ранее? 800х600 задавал 806х625 вернула ф-я....

14
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
15.03.2011, 00:50 2
C
1
2
RECT lpRectToolBar;
GetWindowRect(hToolBar, &lpRectToolBar);
1
11 / 11 / 3
Регистрация: 09.03.2011
Сообщений: 35
15.03.2011, 12:02 3
Maxwe11, смотри внимательней Петр же сказал что у него это не катит.
0
Jupiter
15.03.2011, 16:46
  #4

Не по теме:

Цитата Сообщение от Delphi_is_DEAD Посмотреть сообщение
Maxwe11, смотри внимательней Петр же сказал что у него это не катит.
это Ты смотри внимательней

0
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
15.03.2011, 17:36  [ТС] 5
не работает. компилятор требует LPRECT.
1
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
15.03.2011, 17:39 6
какая ошибка ведь секрет?
0
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
15.03.2011, 17:46  [ТС] 7
Run-Time Check Failure #3 - The variable 'lpRectToolBar' is being used without being initialized.
если так:
C++
1
2
LPRECT lpRectToolBar;
GetWindowRect(hToolBar, lpRectToolBar);
Добавлено через 2 минуты
если так:
C++
1
2
LPRECT lpRectToolBar;
GetWindowRect(hToolBar, &lpRectToolBar);
Невозможно преобразовать 'LPRECT*' в 'LPRECT'
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
15.03.2011, 17:52 8
C
1
2
3
RECT lpRectToolBar; // RECT а не указатель на него
GetWindowRect(hToolBar, &lpRectToolBar);
// вы вообще понимаете что такое указатель? и что означет операция "&" ?
1
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
15.03.2011, 18:10  [ТС] 9
Да. Просто на msdn написано что там должа быть структура LPRECT
0
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
16.03.2011, 15:06 10
на msdn написано что там должа быть структура LPRECT
Там написано все правильно, только трактуешь ты это неправильно, не структура LPRECT, а указатель на RECT. LPRECT следует читать как Long Pointer to RECT, то есть на месте этого параметра следует разместить не структуру RECT, а указатель на эту структуру в памяти. То есть ты должен объявить в видимой области переменную структуры RECT, а параметром передать указатель на эту переменную. Операция '&' и является тем, что преобразовывает тип RECT в указатель на него. Maxwe11 прав
0
59 / 59 / 2
Регистрация: 22.01.2011
Сообщений: 187
16.03.2011, 21:23 11
Петррр,
компилятор четко сказал:
"Run-Time Check Failure #3 - The variable 'lpRectToolBar' is being used without being initialized."
пора научится читать ощибки компилятора. он четко сказал переменая не инитиализирована. фиг выговориш
код на Си:
C
1
2
3
4
5
    LPRECT lpRectToolBar = malloc(sizeof(RECT));
    GetWindowRect(hToolBar, lpRectToolBar);
    /* .... */
    /*  lpRectToolBar->left = 0; */
    free((void*)lpRectToolBar);
0
Петррр
16.03.2011, 22:22  [ТС]
  #12

Не по теме:

То что переменная не инециализирована я понял. я не понял как исправить эту ошибку.

0
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
16.03.2011, 22:27 13
bobrovskii, выделение динамической памяти нужно избегать по возможности. Здесь оно вообще ни к чему.
C
1
2
RECT rctToolBar;
::GetWindowRect(hToolBar, &rctToolBar);

Не по теме:

Цитата Сообщение от Петррр Посмотреть сообщение
То что переменная не инециализирована я понял. я не понял как исправить эту ошибку.
Ты главное пойми, что чтобы по человечески программировать на C++ - нужно курить хорошую литературу и много думать.

2
59 / 59 / 2
Регистрация: 22.01.2011
Сообщений: 187
16.03.2011, 22:37 14
CyBOSSeR, да оно ни кчему, это было к примеру.
оказалось что Петррр вкурсе, что переменная не инециализирована. тогда в чем пороблема у него? я не совсем понял.
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.11.2014, 17:55 15
Цитата Сообщение от Петррр Посмотреть сообщение
В чем проблема?
Проблема в том, что
C++
1
LPRECT lpRectToolBar;
декларирует указатель и память по нему не выделена.

Добавлено через 42 секунды
Цитата Сообщение от Петррр Посмотреть сообщение
То что переменная не инециализирована я понял. я не понял как исправить эту ошибку.
Объявить не указатель, а обычную переменную, а передать указатель.
0
05.11.2014, 17:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2014, 17:55
Помогаю со студенческими работами здесь

Что использовать вместо GetWindowRect для максимизированных окон?
Есть функция (многие из читающих этот раздел наверняка с ней знакомы) GetWindowRect, она возвращает...

Для разных форм по разному берутся координаты через GetWindowRect
Короче в аксессе я беру координаты открытой формы, использую для этого АПИшную GetWindowRect, так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru