|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #1 : 31-05-2007 08:33 » |
|
Tuborg, а смысл ? CPropertySheet не имеет заголовка уже. Можешь простые кнопки положить и при нажатии на них генерить нужное сообщение
Хотя - попытайся в редакторе ресурсов подправить свойства формы - заголовок включи, всё такое.
|
|
|
Записан
|
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #3 : 31-05-2007 18:34 » |
|
>>классе CPropertySheet делаю "add" страниц классов наследуемых от CTabCtrl ёёё, а смысл ? может вот это поможет, посмотри https://club.shelek.ru/viewart.php?id=287
|
|
|
Записан
|
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #5 : 03-06-2007 04:52 » |
|
Tuborg, CDialog не является частью CTabCtrl ) Вернее, щас чтоб в словах не запутаться :
1) CTabCtrl - не наследник CDialog 2) Объекты класса CDialog (страницы) - также не являются частью объекта CTabCtrl. Они просто показываются или скрываются при нажатии на кнопки вкладок
----------- тыкс... про какую перерисовку речь ? Я что то пропустил ? )
Всё доложно быть нормально, обычный диалог же показывается.
Как рисуешь, зачем для этого Invalidate ? По идее наоборот - сначала Invalidate , потом рисуешь в OnPaint()
|
|
« Последнее редактирование: 03-06-2007 05:02 от Алексей1153++ »
|
Записан
|
|
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #8 : 03-06-2007 05:54 » |
|
Tuborg, перерисовывать CTabCtrl бесполезно, на нём ничего же нету ) На нем лежит страница (дочернее окно) , которое тебе и надо перерисовать. В закладках запомнен указатель на окно вкладки-диалога, бери этот указатель (назовём, скажем, CWnd* pWnd) и вызывай
pWnd->Invalidate(0)
>>>Почему я должен дополнительно щёлкать закладки TabCtrl'а? - не должен ) Просто в этом случае так же вызывается
((CWnd*)item.lParam)->ShowWindow(SW_SHOW); что также вызывает перерисовку только что показанной вкладки
|
|
« Последнее редактирование: 03-06-2007 05:59 от Алексей1153++ »
|
Записан
|
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #10 : 03-06-2007 06:16 » |
|
Tuborg, я наверное неправильно выразился, ты меня не понял. Конечно же надо именно Invalidate() делать )
ЗЫ. а SW_SHOW , если окно уже было показано, перерисовку не вызовет
|
|
|
Записан
|
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #12 : 03-06-2007 06:39 » |
|
Tuborg, пробуй так -
pWnd->Invalidate(0); pWnd->UpdateWindow();
ещё , как вариант (но может начать мерцать) - pWnd->Invalidate(1); pWnd->UpdateWindow();
|
|
|
Записан
|
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #14 : 03-06-2007 11:08 » |
|
Tuborg, что то у тебя с порядком перерисовки.
скинь мне проект может я что то не понимаю, посмотрю , поразбираюсь
может данные для графика не меняются ? И кажется, что не перерисовывается
|
|
« Последнее редактирование: 03-06-2007 11:12 от Алексей1153++ »
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #15 : 05-06-2007 03:53 » |
|
Tuborg, сорри, до проекта ещё так и не добрался, но есть такая мысль - тебе не диалог надо Invalidate , а сам контрол графика обновить (если ты какой-то компонент юзаешь) Вернее Invalidate(0) для диалога ты делай по прежнему, но в самом диалоге добавь ещё в OnPaint - void CMyDlg::OnPaint() { CPaintDC dc(this);
(контрол_графика).Invalidate(0); // или может метод специальный там у него какой то типа Refresh
|
|
|
Записан
|
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #17 : 06-06-2007 09:24 » |
|
Tuborg, а зря он им не является
|
|
|
Записан
|
|
|
|
|