• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

О Visual C++ 2005 Express Edition

  • Автор темы 4elove4ek
  • Дата начала
Статус
Закрыто для дальнейших ответов.
4

4elove4ek

Вопрос о клавиатуре:
Что происходит когда я нажал одну кнопку и не отпуская вторую?
Т.е. я могу сейчас передвигать кнопками квадрат только на 4 направления. Хочется добавить ещё 4...
 
E

European

<!--QuoteBegin-4elove4ek+8:05:2007, 23:37 -->
<span class="vbquote">(4elove4ek @ 8:05:2007, 23:37 )</span><!--QuoteEBegin-->как мне добавить возможность использования этого класса
[snapback]65264" rel="nofollow" target="_blank[/snapback]​
[/quote]
Подключить файл с объявлением класса директивой include
<!--QuoteBegin-Beast_cooL+9:05:2007, 02:42 -->
<span class="vbquote">(Beast_cooL @ 9:05:2007, 02:42 )</span><!--QuoteEBegin-->при создании самой простой программки (Hello), я включаю iostream, а когда он при компиляции видит cout - говорит что это неизвестный идентификатор. В чем дело?
[snapback]65272" rel="nofollow" target="_blank[/snapback]​
[/quote]
cout определен в пространстве имен std. Поэтому либо писать std::cout либо расширить используемое пространство имен (using namespace std;)
<!--QuoteBegin-4elove4ek+9:05:2007, 09:07 -->
<span class="vbquote">(4elove4ek @ 9:05:2007, 09:07 )</span><!--QuoteEBegin-->Если код в visual 2005 - то всё правильно. там нету уже как-такового iostream... Можно пользоватся printf(); Хотя могу ошибатся.
[snapback]65278" rel="nofollow" target="_blank[/snapback]​
[/quote]
Ты действительно ошибаешься (см. предыдущую фразу)
 
E

European

<!--QuoteBegin-4elove4ek+9:05:2007, 09:07 -->
<span class="vbquote">(4elove4ek @ 9:05:2007, 09:07 )</span><!--QuoteEBegin-->Как мне сделать чтобы когда пользователь нажал на кнопку мыши левую и держал мышь в одном месте - этот крестик крутился бы.
[snapback]65278" rel="nofollow" target="_blank[/snapback]​
[/quote]
Я бы использовал таймер и вращал крестик на определенный угол на каждой итерации таймера. Хотя вариантов довольно много
<!--QuoteBegin-4elove4ek+9:05:2007, 09:07 -->
<span class="vbquote">(4elove4ek @ 9:05:2007, 09:07 )</span><!--QuoteEBegin-->А есть аналог функции паскалевской Random().
[snapback]65278" rel="nofollow" target="_blank[/snapback]​
[/quote]
rand
<!--QuoteBegin-4elove4ek+9:05:2007, 12:40 -->
<span class="vbquote">(4elove4ek @ 9:05:2007, 12:40 )</span><!--QuoteEBegin-->Т.е. я могу сейчас передвигать кнопками квадрат только на 4 направления. Хочется добавить ещё 4...
[snapback]65284" rel="nofollow" target="_blank[/snapback]​
[/quote]
Может логичнее нажимать не 2 кнопки-стрелки одновременно, а дополнительные кнопки?
 
G

GRLEX

Я так понял ты стрелки обрабатываешь.
Добавь в обработчик вместе со стрелками стрелки с NumLock, там будет 7, 9, 1, 3.
Вот тебе исчо 4 направления :)
 
4

4elove4ek

<!--QuoteBegin-European+10:05:2007, 11:39 -->
<span class="vbquote">(European @ 10:05:2007, 11:39 )</span><!--QuoteEBegin-->Я бы использовал таймер и вращал крестик на определенный угол на каждой итерации таймера. Хотя вариантов довольно много
[snapback]65421" rel="nofollow" target="_blank[/snapback]​
[/quote]
Я вот не совсем понимаю как использовать таймер?
Когда я нажал на левую кнопку мыши, то запускается функция OnLButtonDown. Она выполнилась и закрылась. Ну и в ней можно булевую переменную изменять на TRUE чтобы знать что кнопка была нажата, а в функции OnLButtonUP эту переменную изменять на FALSE. Но как дальше обрабатывать допустим эту прорисовку, когда никакие функции не запускаются? Точнее я так думаю что не запускаются...


<!--QuoteBegin-European+10:05:2007, 11:39 -->
<span class="vbquote">(European @ 10:05:2007, 11:39 )</span><!--QuoteEBegin-->Может логичнее нажимать не 2 кнопки-стрелки одновременно, а дополнительные кнопки?
[snapback]65421" rel="nofollow" target="_blank[/snapback]​
[/quote]
Ага.. я это хочу сделать. Т.е. когда я нажал ВВЕРХ - запустилась функция OnKeyDown. Я в ней определил код нажатой клавиши и сдвинул крест на координату выше. Но когда я нажимаю ещё вместе с ней и другую клавишу ( например вправо, чтобы двигатся на северо-восток )... как обработать её нажатие?

А ещё. Когда я передвигаю крест по экрану, он мерцает, довольно сильно - как это можно исправить, если вообще можно..
 
E

European

<!--QuoteBegin-4elove4ek+10:05:2007, 13:33 -->
<span class="vbquote">(4elove4ek @ 10:05:2007, 13:33 )</span><!--QuoteEBegin-->Я вот не совсем понимаю как использовать таймер?
[snapback]65446" rel="nofollow" target="_blank[/snapback]​
[/quote]
Повторюсь и скажу, что на www.firststeps.ru очень хорошо расписаны основы программирования. Например ,
 
4

4elove4ek

Всё разобрался.
Остался вопрос не понятным. Как обрабатывать одновременно нажатие двух клавиш?
Т.е. я нажал влево и потом вверх.. и чтобы мой крест( который управляется этими клавишами) передвигался на северо-запад...
 
4

4elove4ek

Зато с изображением наконец-таки разобрался.
Кому нужна помощь по этому:
"
CBitmap bm;
bm.LoadBitmap(IDB_BITMAP1);

CClientDC client(this);
CDC mem;

mem.CreateCompatibleDC(&client);
mem.SelectObject(&bm);

client->BitBlt(xКуда,
yКуда,
ШиринаКартинкиПоХ,
ШиринаКартинкиПоY,
&mem,
хВКартинке,
YвКартинке,
SRCCOPY);
например: client->BitBlt(50,50,32,32,&mem,0,0,SRCCOPY);
это значит, что в точку окна (50,50) будет скопирован блок в 32*32 пикселя из картинки, блок этот будет браться с точки (0,0) в картинке.
"
спасибо SERAFIM'у.
 
4

4elove4ek

И когда я обновляю экран ( я это делаю 25 раз в секунду ) то он нейвероятно сильно мерцает!!! Можно как-то избавится от этого мерцания?
 
E

European

<!--QuoteBegin-4elove4ek+14:05:2007, 07:39 -->
<span class="vbquote">(4elove4ek @ 14:05:2007, 07:39 )</span><!--QuoteEBegin-->Можно как-то избавится от этого мерцания?
[snapback]65812" rel="nofollow" target="_blank[/snapback]​
[/quote]
Гугл спасет отца русской демократии:
 
4

4elove4ek

А как рисовать в контекст не используя BitBlt? Я когда вызываю BitBlt он сразу рисует на экран.
В рассылке этой написано:
"Т.е. создаете в памяти совместимый с экраном контекст (CreateCompatibleDC), рисуете все в него, а затем вызываете BitBlt."
Код который я использую - выше.

Почитал здесь:
"BitBlt (hDestDC, x, y, nWidth, nHeight, hSrcDC, xSrc, ySrc, dwRop) --- Копирует битовую область, из контекста hSrcDC, начиная с координат (xSrc, ySrc) в соответствии с растровой операцией dwRop в битовую область контекста hDestDC в координаты (x, y, nWidth, nHeight)."

В этой функции 9 параметров а когда я пишу такое он не хочет... а при 8-ми ( как в коде выше ) - всё работает.
 
G

GRLEX

Ребята, может кто работал с gif файлами. Как вынести его на диалог?
Спасибо.
 
4

4elove4ek

Подскажите мне пожалуйста. Как же рисовать в контекст виртуального дисплея и потом махом перекидывать всё в основной? Мне курсовик скоро сдавать.. а всё так моргает что глаза жа болят!
 
A

Amy

всем привет! я хочу научиться программировать! выбрал язык программирования с++! какой редактор нужен, я незнаю! подскажите пожалуйста!

Dev C++ для начала пойдет? или начинать желательно из более ранних версий?
 
G

GRLEX

Бери Visual Studio - самый четкий редактор по моему.
Я б советовал последнюю 2005 - сразу к ней привыкать будешь.
Только начинай с консольных приложений, бо запутаешься.
Если хочешь делать быстро и сразу красивые формы - возьми Builder, только
если не знаешь языка вообсче(ни одного языка программирования), то обязательно начинай в консоли.
Удачи )
 
A

Amy

Спасибо! Буду Вас спрашивать по мере своего обучения!
 
G

GRLEX

Добренько, пиши тут, либо в аське, если что
наберешь в поиске GRLEX - он там один :)
 
S

_st_

Прошу прощения, но необходима помощь ребят из Минска, обращался к European, но ответа не было:
очень нужна Visual Studio 2005 Proffesional Edition, трафа чтобы ее скачать с нета не хватит, посему спрашиваю: Может кто-нибудь дать инсталяху на день-два?
Буду очень благодарен! Вознаграждение гарантируется! :eek:

Заранее спасибо!

icq: 192555888
 
E

European

<!--QuoteBegin-_st_+25:08:2007, 14:46 -->
<span class="vbquote">(_st_ @ 25:08:2007, 14:46 )</span><!--QuoteEBegin-->Прошу прощения, но необходима помощь ребят из Минска, обращался к European, но ответа не было
[snapback]76340" rel="nofollow" target="_blank[/snapback]​
[/quote]
<!--QuoteBegin-_st_+25:08:2007, 14:46 -->
<span class="vbquote">(_st_ @ 25:08:2007, 14:46 )</span><!--QuoteEBegin-->Вознаграждение гарантируется!
[snapback]76340" rel="nofollow" target="_blank[/snapback]​
[/quote]
Блин, да оторвись ты от компа и выйди на улицу! Тебе что, сказать где диски продаются? Или мне тебе за пиво лицензионную Студию подогнать?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!