Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CPen, VC6 MFC 
:(
    Опции темы
Nikkiforum
Дата 16.2.2006, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 18.1.2006

Репутация: нет
Всего: нет



Как сделать так чтобы при первой прорисовке была линия, а при второй она исчезала - то есть нужно инвертирование только не знаю как его сделать
PM MAIL   Вверх
chaos
Дата 16.2.2006, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 4
Всего: 44



в обработчике WM_PAINT
Код

static bool fPaint = false;

if (! fPaint)
{
    fPаint = true;
    //рисуешь линию
}
else
{
    //
}


Это сообщение отредактировал(а) chaos - 16.2.2006, 15:45
PM WWW   Вверх
Coocky
Дата 16.2.2006, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Вы%%%%усь smile
Код

static bool fPaint = false;

if (! fPaint)
{
    fPаint = !fPаint ;
    //рисуешь линию
}
else
{
    //
}



--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Denn
Дата 17.2.2006, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 6.8.2005

Репутация: 1
Всего: 2



Помоему товарищ спрашивал про режимы отображения типа SRCINVERT в CDC::StretchBlt. Я не помню как это можно сделать для линии. Советую покапаться в указанном направлении.
PM MAIL ICQ   Вверх
takedo
Дата 17.2.2006, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 1.6.2005

Репутация: нет
Всего: 3



Nikkiforum, Да купи ты в конце концов за 200 рублей книгу: "А. Мешков, Ю.Тихомиров "Visual C++ и MFC"". Вообще больше таких вопросов и желания не возникнет задавать. Можешь поискать в электронной версии (хотя в бумаге то оно лучше), даже здесь на форуме были ссылки
Добавлено @ 12:19
ну а если книгу не покупаешь, то можешь вообще создать свой пен с разными стилями PS_SOLID, PS_DASH, и т.д. Смотри себе как они себя ведут, но в книге то это четко объяснено, не поймет только ленивый.
PS.: поищи в сети, она правда большая, мегов 20, но стоит она того.


--------------------
я не гольфист - я хоккеист
PM MAIL   Вверх
Coocky
Дата 17.2.2006, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Цитата(Denn @ 17.2.2006, 12:00 Найти цитируемый пост)
Помоему товарищ спрашивал про режимы отображения типа SRCINVERT в CDC::StretchBlt.

Вполне возможно.Ну можно было и уточнить smile
Я где-то видел в примере, где два раза рисовалась одна линия с разными флагами ROP.
Во избежания мерцания.
Но надо поэкперементировать с флагами
Цитата

R2_BLACK  Pixel is always black.
R2_WHITE  Pixel is always white.
R2_NOP  Pixel remains unchanged.
R2_NOT  Pixel is the inverse of the screen color.
R2_COPYPEN  Pixel is the pen color.
R2_NOTCOPYPEN  Pixel is the inverse of the pen color.
R2_MERGEPENNOT  Pixel is a combination of the pen color and the inverse of the screen color (final pixel = (NOT screen pixel) OR pen).
R2_MASKPENNOT  Pixel is a combination of the colors common to both the pen and the inverse of the screen (final pixel = (NOT screen pixel) AND pen).
R2_MERGENOTPEN  Pixel is a combination of the screen color and the inverse of the pen color (final pixel = (NOT pen) OR screen pixel).
R2_MASKNOTPEN  Pixel is a combination of the colors common to both the screen and the inverse of the pen (final pixel = (NOT pen) AND screen pixel).
R2_MERGEPEN  Pixel is a combination of the pen color and the screen color (final pixel = pen OR screen pixel).
R2_NOTMERGEPEN  Pixel is the inverse of the R2_MERGEPEN color (final pixel = NOT(pen OR screen pixel)).
R2_MASKPEN  Pixel is a combination of the colors common to both the pen and the screen (final pixel = pen AND screen pixel).
R2_NOTMASKPEN  Pixel is the inverse of the R2_MASKPEN color (final pixel = NOT(pen AND screen pixel)).
R2_XORPEN  Pixel is a combination of the colors that are in the pen or in the screen, but not in both (final pixel = pen XOR screen pixel).
R2_NOTXORPEN  Pixel is the inverse of the R2_XORPEN color (final pixel = NOT(pen XOR screen pixel)).






--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Earnest
Дата 17.2.2006, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



С одним и тем же флагом R2_NOT. Певый раз рисует, второй - стирает. Еще R2_XORPEN можно. Во втором случае цвет линии (когда она есть) зависит от цвета текущего пера, в первом - нет.


--------------------
...
PM   Вверх
Nikkiforum
Дата 17.2.2006, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 18.1.2006

Репутация: нет
Всего: нет



Большое всем спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0719 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.