|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
24.10.2008, 11:48 | #1 | |
C++ Builder
Минск
Регистрация: 16.09.2006
Сообщений: 1,587
|
||
Просмотров: 6825
|
|
||||
Я так понял на форуме программистов С++ нету. Очень жаль.
Может кто подскажет или скинет книги по С++. Особенно интересуют вопросы по событиям и по работе с канвой. Еще вопросик по событию "onPaint" не могу понять как толком оно работает. Я понимаю так:событие происходит при перерисовке окна. Например окно закрыто другим окном, сделал активным окно - перерисовалось. Но есть один недостаток, когда окно взять за шапку и увести за экран (вниз) и вернуть, все что было нарисованно изчезает. Как обойти это? Offtop: Модераторам: Если через пару дней никто не ответит, тему можно смело удалять
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Зачем удалять?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Offtop: Кулик Алексей aka kpblc, а толку от темы в которой нет ответа. Через пол года мне ответ уже не нужен. А наличие подобных тем только усложняет поиск.
zamtmn, C++ Builder очень похож например на Delphi. А в общем и целом все языки программирования высокого уровня очень похожи. Честно говоря думал на мой вопрос ответят очень быстро. Он очень простой - просто я только учусь и сталкиваюсь с элементарными трудностями. Мне вполне хватилобы кода на Delphi - а перевести его в Builder не сложно.
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
В "чистом" VB тоже есть в формах графическая область (честно скажу, рисованием там не занимался). Насколько мне помнится, там ось х отмеряется вправо (положительные значения), а у - вниз. Соответственно для отрисовки можно тупо брать высоту контрола в пикселах, и из этой высоты отнимать вертикальное смещение рисуемого элемента.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Зря взялся именно за Builder. Это же такой мутант - скрещение компонентов Delphi с синтаксисом C++. Недостаток главный в том, что Builder всегда отставал по возможностям. Да и пасынок какой-то вообще. Нравится C++ как язык - лучше уж в VC работать. Хотя это дело вкуса.
Что касается обработки событий, то здесь лучше всего изучать по дельфийским книгам. Компоненты те же самые, события те же самые. Событие OnPaint генерируется, когда надо перерисовать окно. А не при перерисовке окна. При перемещении окна, изменении размеров и прочих действиях возникают другие события. Часто приходится делать что-то и при них. Для назначения цвета после диалога ColorDialog надо делать наподобие (пишу на Pascal) Код:
А вообще-то лучше не использовать "низкоуровневый" Canvas - придется заново велосипед изобретать. Надо найти библиотеку (их много), в которой уже реализован графический редактор, то есть работать на более высоком уровен. Например, TJvDrawImage из огромной библиотеки Jedi - в ней есть почти всё, что в голову может взбрести. |
|||
|
||||
Canvas не такой уж и "низкоуровневый". Кажись он вообще к апишным функциям обращается.
Если честно, то хочу написать программу для редактирования файлов форм. Вне акада таких программ не встречал. Т.к. не программист, то для учебы вполне хорошая задача. Решаю потихоньку. Дело в том, что для отрисовки думаю использовать Canvas - другого способа рисовать не знаю. По поводу велосипеда, то программа не столько нужна сколько хочу научится программировать.
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Лучший способ научиться практически - изучать чужой готовый код. Например, подобрать хороший компонент, а лучше библиотеку, взять подходящий пример и начать его перерабатывать под свои условия. Отсекать всё лишнее, добавлять собственный функционал.
В этом случае волей-неволей придется изучить всё достаточно глубоко. Например, будет понятно, почему компонент более высокого уровня, основанный на Canvas, сам умеет перерисовываться при изменении размеров. И массу других полезных сведений. При этом будет и изучение, и готовый полезный результат. Кстати, используя Builder, все равно придется Delphi изучать. Хотя практически все компоненты имеют пакеты для установки в Builder (bpk) и даже cpp-файлы, но в них-то ссылки на pas. И только очень редкие компоненты написаны наоборот. Могу только 1-2 припомнить приличных. |
|||
|
||||
У меня есть книга по Delphi. Некоторые вопросы решаю через нее.
ShaggyDoc, может подскажете где мне почитать про написание графических приложений? Про TJvDrawImage ничего не нашел. Да и инет у меня не работает нормально (сижу на двг.ру через прокси). Впринципе понимаю что Canvas это не самое лучшее решение. В MSDN написано немного про функции рисования графики. От туда понимаю, что Canvas использует все тоже самое что описано MSDN. Теже LineTo и MoveTo. При желании можно было бы и на асме написать
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Так ведь Canvas - это "холст", на котором вся Windows всё рисует. Поэтому на любом языке будет одинаково. Только когда ставим, например, кнопку, то про Canvas уже не думаем. Оно где-то в предках.
Специальные книги по графическим приложениям найти сложно. Да они и не для таких задач, как shp рисовать. Такая азбука везде описана. Беда в том, что книги хорошие бывают и плохие. Плохих гораздо больше. Фленов штампует, Архангельский. По Builder вообще не встречал, но и не искал специально. Что касается TJvDrawImage, то это один из компонентов Jedi VCL. Эту библиотеку (в паре с Jedi Code Library) непременно надо иметь. Библиотеки бесплатные, на сегодняшний день надо брать JVCL334CompleteJCL1102-Build3072.zip отсюда http://sourceforge.net/project/showf...group_id=45786 |
|||
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,686
|
Я, к сожалению, не программист C++. Но есть у меня есть один книг в формате PDF (титульный лист во вложении). Правда, весит заархивированный 12 Мб (т.е. непосредственно к сообщению не прицепить. Но если интересует, могу выложить куда-нибудь)
Последний раз редактировалось AlexV, 31.10.2008 в 11:19. |
|||
|
||||
|
||||
|
||||
всё понемногу Регистрация: 05.03.2008
Украина, Одесса
Сообщений: 215
|
Мне лично очень помогли книги Галявина и Культина. Небольшие самоучители.
Могу скинуть свою небольшую програмку, но она во-первых не для обучения (не люблю комментировать код), во-вторых тематика графики не очень похожа (предназначалась для ремонта мобильных телефонов). |
|||
|
||||
AlexV, книгу можно разбить на несколько архивов по 3мб и сменить расширение .rar на .dwg. Выложи плиз в своем предыдущем посте. После того как я скачаю можно удалить. На файлобменник зайти не смогу.
По поводу чем программировать меня если честно не очень интересует. C++ Builder выбрал просто так. Я более менее на нем соображаю просто ну и размер .exe и быстродействие не на последнем месте конечно. Возможно программу буду писать с асемблерскими вставками, а может и нет. Может вообще на асме все напишу. Пока у меня вопрос стал как лучше выводить графику на форму. Как удобней посмотрю. Со многим придется разобраться, есть куча дыр и неясностей в теории. Нашел замечательную книгу: "Программирование графики для Windows" - Фень Юань. (архив 16 мб - могу если нужно выложить) Книга обо всем и очень подробно -1000 страниц. Скачал с wasmа кучу примеров (пусть даже примитивных) - буду изучать.
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
А по 2метра rar проходит...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Я выкладывал так справку к 2009му акаду. По 3 метра разбил архив и выложил. Может попробовать чуть меньше сделать архивы.
ShaggyDoc, если архив не большой и не сложно, скинь в эту тему.
__________________
Поезд который устал от ржавого здравомыслия рельсов... Последний раз редактировалось Shoorup, 31.10.2008 в 11:53. |
||||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Цвета линий в AutoCAD. Зачем они нужны и как их изменить | АнтонЧ | AutoCAD | 47 | 09.10.2013 20:34 |
Выбор расчетной программы | Elena cH | Расчетные программы | 135 | 25.02.2008 01:56 |
Добавить свои цвета в цветовую палитру | Zlat21 | AutoCAD | 1 | 11.12.2007 15:01 |
2008. Глюк с назначением текущего цвета из Lisp? | _Andre_ | LISP | 5 | 25.10.2007 13:50 |
Выбор примитивов в функции (command) | mmax | Программирование | 12 | 19.05.2006 20:02 |