Выпуск № 1365 от 01.08.2009, 21:05
Администратор рассылки: Dr_Andrew, Модератор
В рассылке: подписчиков - 638, экспертов - 158
В номере: вопросов - 2, ответов - 4
Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке: оценить выпуск >>
Вопрос № 170834: Добрый день Уважаемые эксперты. Нужна помощь. У меня была такая идея: написать программу чтобы при нажатии на кнопку одна из панелек двигалась на определеное расстояние. При нажатии на другую на другое и т д. Но столкнулся с тем что в this-&g...
Вопрос № 170845: Здравствуйте уважаемые эксперты!Можете мне ответить на вопрос:когда пишется прога для нее создается папка на жестком диске, а в ней различные файлы маленького размера.Скажите как превратить все эти файлы в один "exe" файл чтобы данную прогр...
Вопрос № 170834:
Добрый день Уважаемые эксперты. Нужна помощь. У меня была такая идея: написать программу чтобы при нажатии на кнопку одна из панелек двигалась на определеное расстояние. При нажатии на другую на другое и т д. Но столкнулся с тем что в this->panel1->Location = System::Drawing::Point(21,32); Нельзя вместо цифр указывать переменные. По подсказкам компилятора понял что можно использовать переменную int dw. Но это не выход из ситуации. Одной переменной мало...Ее сильно не посравниваешь в циклах
ну и т д. Есть ли какое то решение этого вопроса? И еще одно. Вторая проблемка. Как организовать так чтобы при нажатии на определенную кноппку на клавиатуре происходило определенное событие а не на кнопки и т д в форме... Заранее спасибо.
Отвечает Evgenijm, 9-й класс :
Здравствуйте, Dimon4ik. Замечательно там переменные используются. Возможно, какая-то ошибка в коде. См. приложение. На форму надо добавить кнопку и установить ей этот обработчик.
У каждого экранного контрола (и у форм) есть события от клавиатуры. Они реагируют просто на нажания. Фильтровать нужные кнопки приходится уже в коде. Посмотрите события KeyDown, KeyUp, KeyPress и свойство контейнера KeyPreview.
Приложение:
Ответ отправил: Evgenijm, 9-й класс
Ответ отправлен: 27.07.2009, 14:40
Оценка ответа: 5
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 252670
на номер 1151 (Россия) |
Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает Micren, Бакалавр :
Здравствуйте, Dimon4ik. Возможно Вам надо подобный обработчик.
Код:
System::Void Form1_KeyDown(System::Object^ sender, System::Windows::Forms::KeyEventArgs^ e) { static const Int32 movePoints=1; if((e->Modifiers&(Keys::Alt|Keys::Control|Keys::Shift))==(Keys)0) { Point
location=panel->Location; switch(e->KeyCode) { case Keys::Up: location.Y-=movePoints; if(location.Y<0) { location.Y=0; } break; case Keys::Down: location.Y+=movePoints; break; case Keys::Left: location.X-=movePoints; if(location.X<0) { location.X=0; } break; case Keys::Right: location.X+=movePoints; break; default:
return; } panel->Location=location; } }
Прикрепил к ответу файл проекта.
Следует сказать, что это дурной тон в программировании интерфейса так делать. Вам следует взглянуть на тот подход, который используется в Qt и WPF, а именно на менеджеры компоновки.
Прикрепленный файл:загрузить >>
Ответ отправил: Micren, Бакалавр
Ответ отправлен: 27.07.2009, 19:07
Оценка ответа: 5
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 252678
на номер 1151 (Россия) |
Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 170845:
Здравствуйте уважаемые эксперты!Можете мне ответить на вопрос:когда пишется прога для нее создается папка на жестком диске, а в ней различные файлы маленького размера.Скажите как превратить все эти файлы в один "exe" файл чтобы данную программу мог открыть и другой человек у которого ну скажем нету установленной программы Builder C++.
ЗАРАНЕЕ СПАСИБО!!!!!!!!!!!!!
Отправлен: 27.07.2009, 19:45
Вопрос задал: Magma, Посетитель
Всего ответов: 2 Страница вопроса >>
Отвечает Matrix, 5-й класс :
Здравствуйте, Magma. Для начала нужно отвязать Ваш проект от библиотек, которые использует С++ Builder. Для oтключите в настройках проекта: * Project->Options->Linker->Use dynamic RTL * Project->Options->Packages->Build with runtime packages Вот теперь компилируем проект. Теперь exe-шный файл запустится на любом компьютере.
Ответ отправил: Matrix, 5-й класс
Ответ отправлен: 28.07.2009, 00:28
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 252686
на номер 1151 (Россия) |
Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает Новиков Андрей Викторович, 3-й класс :
Здравствуйте, Magma. Я пологаю проект надо скомпилировать убрав в опция проекта следующее: Project->Options->Linker->Use dynamic RTL Project->Options->Packages->Build with runtime packages
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.