Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2013, 01:41   #21
hvz-
Форумчанин
 
Регистрация: 14.11.2010
Сообщений: 138
По умолчанию

Возник ещё вопрос - заметил в диспетчере задач что используемый объём памяти увеличивается при открытии вкладки где мои контролы. Использую EnumChildWindows(), в процедуре обработки потомков дескриптора использую DestroyWindow(), но используемый объём памяти всё равно учеличивается. Как правильно освобождать занятые ресурсы?
hvz- вне форума Ответить с цитированием
Старый 02.04.2013, 09:02   #22
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Поставьте счетчик и посмотрите сколько окон было создано и сколько было удалено - может просто не все удаляете...
waleri вне форума Ответить с цитированием
Старый 02.04.2013, 13:14   #23
hvz-
Форумчанин
 
Регистрация: 14.11.2010
Сообщений: 138
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Поставьте счетчик и посмотрите сколько окон было создано и сколько было удалено - может просто не все удаляете...
Ну удаляется то всё, ведь при смене вкладки все контролы исчезают. Я хотел спросить на счёт функции DestroyWindow() - Она только уничтожает окно но не освобождает участок памяти занятый определённым дескриптором?

И можете мне дать пример диалоговых окон, которые привязаны к определённой вкладке? Перерыл весь гугл - и ничего толкового.
hvz- вне форума Ответить с цитированием
Старый 02.04.2013, 13:46   #24
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Цитата:
Сообщение от hvz- Посмотреть сообщение
И можете мне дать пример диалоговых окон, которые привязаны к определённой вкладке? Перерыл весь гугл - и ничего толкового.
Ну как так? Гугл кишит примерами...

Диалоговое окно создать умеете? Тогда делаем так:

Код:

HWND hDlg=CreateDialog();

TCITEM ti;

ti.mask=TCIF_PARAM;
ti.lParam=(LPARAM)hDlg;

TabCtrl_InsertItem(ti);
Затем при смене вкладки просто делать что-нибудь типа этого:

Код:
int c=TabCtrl_GetCursel();
TabCtrl_GetItem(c,&ti);  // или так, или держать список хэндлов диалогов для табов 
ShowWindow(ti.lParam,SW_SHOW);
// остальные скрыть
counter вне форума Ответить с цитированием
Старый 02.04.2013, 13:49   #25
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Цитата:
Сообщение от hvz- Посмотреть сообщение
Она только уничтожает окно но не освобождает участок памяти занятый определённым дескриптором?
Освобождает все ресурсы связанные с данным окном. Другое дело если а) вы даете неправилный дескриптор и б) у вас есть какието другие ресурсы, кроме собственно HWND
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цикл по Tabs в TabControl Shouldercannon Общие вопросы Delphi 3 12.12.2012 13:37
jquery ui tabs Hey4 JavaScript, Ajax 1 02.03.2012 23:15
Tabs-меню. Как это реализовано (ссылка на образец)? akokin HTML и CSS 3 14.10.2009 15:36