Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите добить программу, или окно-контейнер и работа с ним.. 
:(
    Опции темы
Earnest
Дата 31.1.2006, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Вообще-то есть, но вполне обходимые.
Точно уже не помню, но смысл в том, что все view хочут иметь папой frame-window. Но хочут они этого только в паре мест, которые можно переопределить. Пару месяцев назад я в какой-то теме подробно описывала, что именно и где нужно для этого прикрутить. Тема была про использование CListView вместо CListCtrl. Я подробностей уже не помню, можешь поищешь на форуме? Если не найдешь, попробую восстановить. Помню, я это из своего старого кода выдирала...
Добавлено @ 15:24
Нашла, вот
Добавлено @ 15:28
Конечно, нужно определить свой производный класс, а в качестве документа - использовать объект, который выполняет роль источника данных. Если его еще нет - создай, интерфейс с управлением данными лучше поделить.


--------------------
...
PM   Вверх
Dreamer_0x01
Дата 31.1.2006, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Терминатор
**


Профиль
Группа: Участник
Сообщений: 780
Регистрация: 14.4.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 12



Цитата(Coocky @ 31.1.2006, 12:56 Найти цитируемый пост)

Всегда пользовался только халявным CSrollView


Нихрена себе халявный. Я даже не смог разобраться, для чего он предназначен, а не только как с ним пользоваться.
Поэтому и делал скроллинг вручную =)

Цитата(Coocky @ 31.1.2006, 12:56 Найти цитируемый пост)

Я даже не знаю как запускать, не говоря о расчетах.. 
Я не пойму -окно само прокрутит или нужно сдвигать все диалоги при прокрутке?

Слушай, я щас в запаре, но вот вечером могу наваять тебе простенький диалог, где все будет прокручиваться так,как я говорил.



--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
Coocky
Дата 31.1.2006, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Вот только что сделал. Нехочу документ..Все нормально работает, пока не уничтожаю окно smile
Вылетаю в дебаг. Причем проблема не одна , а куча... А можно без документа? smile
Добавлено @ 15:59
Цитата(Dreamer_0x01 @ 31.1.2006, 15:35 Найти цитируемый пост)

Нихрена себе халявный. Я даже не смог разобраться, для чего он предназначен, а не только как с ним пользоваться.

smile
Это потому, что вы не умеете их готовить smile
Цитата(Dreamer_0x01 @ 31.1.2006, 15:35 Найти цитируемый пост)

Слушай, я щас в запаре, но вот вечером могу наваять тебе простенький диалог, где все будет прокручиваться так,как я говорил.

Окей! Только ,если не трудно-сделай диалог, а в нем окно с прокруткой. Ну и пусть в том окне созаться 100 кнопок.
Если я с Earnest не добью SrollView, тогда возьму твой вариант smile Да и полезно будет посмотреть и научится скролить smile


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Earnest
Дата 31.1.2006, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Цитата(Coocky @ 31.1.2006, 15:53 Найти цитируемый пост)

Вот только что сделал. Нехочу документ..Все нормально работает, пока не уничтожаю окно 
Вылетаю в дебаг. Причем проблема не одна , а куча... А можно без документа?

Не хочешь, не надо, можно и без документа. View всегда проверяет, есть ли у него документ...
Показывай, куда вылетает... ASSERT небось какой-нибудь?


--------------------
...
PM   Вверх
Dreamer_0x01
Дата 31.1.2006, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Терминатор
**


Профиль
Группа: Участник
Сообщений: 780
Регистрация: 14.4.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 12



Цитата(Coocky @ 31.1.2006, 15:53 Найти цитируемый пост)

А можно без документа?

В смысле?



--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
Coocky
Дата 31.1.2006, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Код

 /* forced failure */
        if (!(*_pfnAllocHook)(_HOOK_FREE, pUserData, 0, nBlockUse, 0L, NULL, 0))
        {
            _RPT0(_CRT_WARN, "Client hook free failure.\n");

            return;
        }

        /*
         * If this ASSERT fails, a bad pointer has been passed in. It may be
         * totally bogus, or it may have been allocated from another heap.
         * The pointer MUST come from the 'local' heap.
         */
        _ASSERTE(_CrtIsValidHeapPointer(pUserData));

        /* get a pointer to memory block header */
        pHead = pHdr(pUserData);

Добавлено @ 16:11
Цитата(Dreamer_0x01 @ 31.1.2006, 16:04 Найти цитируемый пост)

В смысле?

ну почитай статью Earnest она предлагает документ прикреплять. А мне он не нужен. Только прокрутка smile



--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Coocky
Дата 31.1.2006, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Короче не нравится ему, что указатель не из той кучи smile


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Earnest
Дата 31.1.2006, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Coocky
Проверь, что у тебя в PostNcDestroy.
Может, ты решил вообще ее не определять, раз флаг bDynamic тебе не нужен?
Так вот, по умолчанию, PostNcDestroy всегда удаляет this. Тебе же нужно переопределить этот метод и сделать его пустым...

Если я не угадала, посмотри выше по стеку, какой именно указатель удаляется.


--------------------
...
PM   Вверх
Dreamer_0x01
Дата 31.1.2006, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Терминатор
**


Профиль
Группа: Участник
Сообщений: 780
Регистрация: 14.4.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 12



Coocky
Через минут 10 я тебе пример со сколлинго залью. Жди, я сюда ссылку кину.


--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
Coocky
Дата 31.1.2006, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Цитата(Earnest @ 31.1.2006, 16:27 Найти цитируемый пост)

Проверь, что у тебя в PostNcDestroy.
Может, ты решил вообще ее не определять, раз флаг bDynamic тебе не нужен?
Так вот, по умолчанию, PostNcDestroy всегда удаляет this. Тебе же нужно переопределить этот метод и сделать его пустым...

smile
Держи плюс smile
Слушай, но откуда такая инфа?
Цитата(Dreamer_0x01 @ 31.1.2006, 16:35 Найти цитируемый пост)

Через минут 10 я тебе пример со сколлинго залью. Жди, я сюда ссылку кину.

Жду с нетерпением smile
Добавлено @ 16:44
Цитата(Coocky @ 31.1.2006, 16:40 Найти цитируемый пост)

Держи плюс 

Сегодня не дают.Завтра smile
Блин, я всем хочу сказать. За все время существования форума, Earnest у нас третий человек из "высших".
На сколько я помню до нее из гениев были
1. mr.DUDA
2.Андрей Ямов
Теперь Earnest smile
Жаль что такие люди не всегда на форуме. Обычно они его покидают через время. Но пока они есть-черпайте знания smile



--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Earnest
Дата 31.1.2006, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Значит, угадала...

Ну, Coocky, ты сказал... слезы душат... пойду искать носовой платок... smile


--------------------
...
PM   Вверх
Dreamer_0x01
Дата 31.1.2006, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Терминатор
**


Профиль
Группа: Участник
Сообщений: 780
Регистрация: 14.4.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 12



Итак, вот тебе примерчик, правда, я очень торопился - увидишь по коду =)
И скроллинг только вертикальный сделал. Если понравится идея - горизонтальны сам сообразишь, он попроще в плане нормального пересчета координат будет ;)

На народ.ру конечно отстойно заливать, но больше некуда, так что уж не обессудь ;)
http://megadreamer.narod.ru/Test2.rar



--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
Coocky
Дата 31.1.2006, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Э.....Проблема.
Окно скролируется вместе с бекграундом smile
Добавлено @ 17:02
Dreamer_0x01
Не у тебя smile
Сейчас твое гляну smile
Круто! Молодец и быстро -то как! smile
Интересно, а проблемы с бекраундом будут?
Ща проверим
З.Ы.
Спасибо всем, не ожидал от вас такой инициативной помощи smile
Добавлено @ 17:05
Код

void NewView::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
    // TODO: Add your message handler code here and/or call default
Invalidate();
    CScrollView::OnVScroll(nSBCode, nPos, pScrollBar);
}

Пардон. Я сильно паникую smile


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Earnest
Дата 31.1.2006, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Цитата(Coocky @ 31.1.2006, 16:55 Найти цитируемый пост)

Окно скролируется вместе с бекграундом

Хм, возможно, как-то забыла про твои хитрые фоны.
Подозреваю, что тоже самое будет в варианте Dreamer_0x01, если он использует функцию ScrollDC.
Но прикрутить можно все... пойду посмотрю в ScrollView.


--------------------
...
PM   Вверх
Coocky
Дата 31.1.2006, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Цитата(Earnest @ 31.1.2006, 17:12 Найти цитируемый пост)

пойду посмотрю в ScrollView.

Все. На сегодня всем отбой! smile
Да думаю уже и все проблемы smile
Все скролируется и перерисовывается БЕЗ МЕРЦАНИЙ smile Всем спасибо еще раз.
С меня форуму-прозрачные окна smile



--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Страницы: (4) Все 1 [2] 3 4 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0566 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.