Вопрос № 59699: Здравствуйте эксперты. У меня два вопроса
1) Есть ли в С++Builder'е аналог паскалевского inherited?
2) В примерах программ на С++ Builder в обработчиках событий я видел вызов
метода TForm::Dispatch. В Delphi - что-то нет. Для чего он ну...Вопрос № 59707: Здравствуйте,
Я решил научиться программировать на C++, и поскольку на работе у меня стоит .NET, то соответственно и среда разработки Visual Studio.NET 2003.
Для начала я решил написать простое консольное приложение "Hello, World!",...Вопрос № 59745: Здравствуйте уважаемые эксперты.
Пишу Borland C++ Builde 6.0
Стал передо мной такой вопросик, как на билдере создать обычную кнопку синего (или любого другого не заданного по умолчанию) цвета. Уточню, кнопку должна быть обычной Button, а не B...
Вопрос № 59.699
Здравствуйте эксперты. У меня два вопроса
1) Есть ли в С++Builder'е аналог паскалевского inherited?
2) В примерах программ на С++ Builder в обработчиках событий я видел вызов
метода TForm::Dispatch. В Delphi - что-то нет. Для чего он нужен?
Отправлен: 21.10.2006, 17:28
Вопрос задал: Lamer (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Bob Johnson
Здравствуйте, Lamer!
1. есть конечно. в методе класса-потомка ты пишешь:
тип_базового_класса::метод (параметры)
например, если есть
class A : public B {..};
с методами void do (); то можно написать
void A::do ()
{
B::do ();
}
Ответ отправил: Bob Johnson (статус: Академик) Россия, Калуга WWW:Программирование ---- Ответ отправлен: 21.10.2006, 20:52 Оценка за ответ: 5
Вопрос № 59.707
Здравствуйте,
Я решил научиться программировать на C++, и поскольку на работе у меня стоит .NET, то соответственно и среда разработки Visual Studio.NET 2003.
Для начала я решил написать простое консольное приложение "Hello, World!", но при компиляции получил fatal error: can't find iostream.h... Не знаю, что делать и как заставить компилятор суметь найти эту библиотеку?
Заранее спасибо.
Приложение:
Отправлен: 21.10.2006, 18:53
Вопрос задал: Grigory (статус: 2-ой класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Алексеев В.В.
Здравствуйте, Grigory!
Дело в том, что заголовочный файл iostream.h признан устаревшим и может отсутствовать в современных компиляторах. Вместо него используется файл iostream. Кроме того объекты cout,cin,endl... размещены в пространстве имен std. Поэтому ваш код будет выглядеть так (приложение). P.S. Согласно последнему стандарту функция main() обязана возвращать значение типа int.
Приложение:
Ответ отправил: Алексеев В.В. (статус: 1-ый класс)
Ответ отправлен: 21.10.2006, 20:51 Оценка за ответ: 5 Комментарий оценки: Спасибо! Все заработало!
Вопрос № 59.745
Здравствуйте уважаемые эксперты.
Пишу Borland C++ Builde 6.0
Стал передо мной такой вопросик, как на билдере создать обычную кнопку синего (или любого другого не заданного по умолчанию) цвета. Уточню, кнопку должна быть обычной Button, а не BitBnt, SpeedButton и тд.
Заранее благодарен все за помощь.
Отправлен: 22.10.2006, 01:34
Вопрос задал: Юра (статус: 2-ой класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: PROD
Здравствуйте, 2!
С обычным Button`ом ничего не сделаешь (если только свой компонент не писать).
а чем не устраивают его аналоги (во многих случаях кнопку можно заменить даже Panel или Image)
Ответ отправил: PROD (статус: 5-ый класс)
Ответ отправлен: 22.10.2006, 08:18
Отвечает: Решетник Д
Здравствуйте, 2!
Попробуйте вот такие ваианты:
- изменять вид кнопки с помощью функций АПИ при событии onPaint например главного окна. Берете хэндл кнопки, от него получаете Device context - GetDc(HWND hnd); А потом уже можно рисовать на кнопке (aункции ellipse, rectangle...... - нужно уточнить)
- заменить процедуру обработки окна кнопки. И в случае, если кнопка получает сообщние перерисовки - вызывать Вашу процедуру, иначе оригинальную.
ключевые слова - GetWindowLong, SetWindowLong (если не ошибаюсь).
- И последний вариант - создать компонент
--------- Жизнь коротка, чтобы писать на ассемблере
Ответ отправил: Решетник Д (статус: 10-ый класс)
Ответ отправлен: 22.10.2006, 09:55