![]() |
|
|
![]()
|
|
| Superklug |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Программа состоит из 2-х окон. Одно главное, а второе создано просто для отображения разной информации. Т.е. оба окна на экране одновременно, кнопки нажимаешь в одном окне, а информация появляется во вотором. Второе окно создается неправильной формы (по png картинке) и может меняться по ходу программы. У меня возникла куча проблем...
1. Как запретить передачу фокуса второму окну? Чтобы активным было всегда первое. Иначе при нажатии Alt+F4 (если активно второе) появляется ошибка... 2. Не знаю почему, но при нажатии Alt+Tab не происходит переход к след. приложению. Это происходит только если Tab нажать дважды. 3. Есть функция:
При многократном обращении к ней, т.е. если пользователь много раз поменяет картинку, вылетает ошибка: Project Project1.exe raised exception class EPNGOutMemory with message 'Some operation could not be performed because the system is out of resources. Close some windows and try again'... Не могу понять почему... 4. Как сделать смену картинок красивой? Хотя бы так, чтобы форма исчезала и появлялась уже другой. А то сейчас это страшное зрелище =) 5. При перемещении этого окна за пределы рабочего стола, картинка стирается. Сделал так:
Работает, но не знаю на сколько это красиво =) Заранее очень благодарен. |
||||
|
|||||
| Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
1. нужно вызывать одну из форм модально.
2. по этой же причине 3. проверь, по моему что то с x,y. 4. Ну срываешь его. Visible = false. выполняешь операторы по смене картинки. И вновь показываешь. 5. А что тебе тут не нравится ? |
|||
|
||||
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Anark1,
1. Хм... Я может что-то не понимаю, но думаю в этом случае нельзя будет обращаться ко второй форме. Т.е. перетаскивать ее или вызывать PopupMenu. Если это не так, то напишите пожалуйста пример. 2. ... 3. А что с ними может быть? 4. Я пробовал. Ошибка: "Cannot change Visible in OnShow or OnHide" =( 5. Очень рад, что все хорошо =) |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Где то у тебя при смене картинки создается новый объект, связанный с картинкой и при этом старый не уничтожается -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Я тоже так подумал, но ничего такого не нашел. А если не обращаться к этой функции, то все работает прекрасно. Вот я и решил, что проблема в ней. Это сообщение отредактировал(а) Superklug - 9.8.2007, 23:14 |
|||
|
||||
| deniska |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 398 Регистрация: 1.7.2005 Где: Троицк Репутация: нет Всего: 0 |
3. Ты tmpRgn скока раз за цикл создаешь? а удаляешь всего один раз
|
|||
|
||||
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Огромное тебе спасибо! И как я сам не увидел... =) Осталось разобраться с п. 1 и 4 И еще у меня появился новый вопрос. Я подумал, что каждый раз создавать переменную bmp (см. первый пост п.5) не хорошо. Создал глобальную переменную, память под которую выделяю в OnCreate. А тут оставил только последние две строки. Но теперь кисть для формы не изменяется... =( Может проблема в методе Assign? |
|||
|
||||
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Если написать в OnActivate 2-ой формы fmMain->SetFocus(), то это решает проблему, но в этом случае не обрабатывается OnMouseDown... =( А мне необходимо обрабатывать это событие, чтобы перемещать форму. Что интересно, при правом клике PopupMenu появляется...
Помогите пожалуйста разобраться с моими вопросами. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |