Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Есть!

Привет всем программистам!

Есть, но мы тут... э-э-э... мы... стесняемся. Аудитория не маленькая.

Ну что же вы, есть и настоящие профессионалы... я надеюсь.

Народ, кто-нибудь делал оконное приложение, которое рисует не стандартные прямоугольные
окна, которые всем порядком надоели, а произвольной формы, да еще со всякими
прозрачностями, как Winamp3? Подскажите, как это делается? Допустим, что изображения
окон хранятся в графических файлах, кое-что дорисовывается самостоятельно. Наверно,
нужно обрабатывать WM_PAINT?

И еще вопросик: кто-нибудь знает алгоритмы A и A* ? Что это вообще такое?

Всего хорошего.

Юрчик (urchi***@m*****.ru)

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Tue, 2 Dec 2003 11:17:28 +0500 (#28100)

 

Ответы:

Здравствуте, Юрчик!

Привет!

Это точно

Не пробовал на Delphi5 набирать?

Можно поинтересоваться, что такое WM_PAINT?

С такими не встречалась еще, и даже не слышала.

Ответить   Лена Tue, 2 Dec 2003 09:55:16 +0300 (#28119)

 

Здрвстуйте !

Это сообщение Windows. Windows - ОС, управляемая сообщениями.
То есть программа работает асинхронно и состоит просто из функций,
которые вызываются в ответ на приходящие сообщения.

Vic.

P.S. Народ, как бы это лучше объяснить ?

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Sun, 2 Jun 2002 22:10:38 +0400 (#28514)

 

Рад приветствовать, Victor!

Довелось мне Sunday, June 02, 2002 читать, следующее:

Конечно, полезно бы почитать книгу по началам Win API (не те где,
учат кнопки на формы класть).

Попоробуем:

Когда программа запускается, она регистрируется в системе (чтобы
винды знали о её существовании), получает свой идентификатор (чтобы
ОС знала где именно найти эту программу). Теперь представь, что на
экране вывелось твоё окно и кнопотулечка. И юзер захотел нажать эту
самую кнопотулечку. Вот навёл мышь и нажал клавишу. Казалось бы всё
просто - ан нет! Представь, что открыто ещё много окон, и каждому
нужно отслеживать мышь. Лобовое решение - дать каждой проге
возможность обращаться к мыши и читать её координаты/состояние
кнопок, то есть мыша сдвинулась всего раз, а проверяло это множество
программ (одинаковым образом). Поэтому таким опросом занимается ОС,
а тебя она (вынь) должна как-то о состоянии мыши оповещать. За сим
при регистрации твоей программы в системе, ОС также получает адрес
процедуры, которая будет вызываться с некими параметрами (WndProc
обычно зовут). Эта процедура и встраивается в твой код (даже если ты
об этом не знаешь ;) ) и вызывается каждый раз, когда происходит
некое событие (мыша двинулась, нажата клавиша, прошёл некий интервал
времени и т.д. - сообщений сотни). В процедуру передаются параметры,
определяющие что произошло или должно произойти, и дополнительные
особенности этого события. Тебе же остаётся в зависимости от значения
этого параметра (switch (param)... - CPP, case param of - PASCAL) сделать
некое нужное тебе действие или не делать ничего, а оставить
стандартную обработку этого сообщения для ОС (DefWindowProc).
А WM_PAINT - константа, определяющая то самое значение приходящего
параметра (сообщения - Windows Message (WM)), который означат, что
программа должна/может вывести свою информацию на экран (там тоже
много всяких граблей - так как на экране много окон и все хотят
выводится).

Ессно, много моментов упущено и описано сумбурно, но слишком это
глобальная тема, чтобы вдаваться во все тонкости в одном письме (эх,
где же ты, старый добрый ДОС?). Если что-то не особо ясно, спрашивай,
будет время попытаюсь чем-то помочь.

ЗЫ Надеюсь, Виктор, не в обиде, что письмо оказалось адресовано тебе %) ...
ЗЗЫ А на subscribe можно сделать, чтобы все сообщения собирались в
одно письмо, скажем, раз в сутки?

Alles Gutes!

CU @ http://smuta.boom.ru
..In Code We Trust...
При желании, mailto:deniskravtso***@m*****.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Thu, 4 Dec 2003 19:33:03 +0300 (#29490)

 

Здравствуйте !

Жаль, но нет (в смысле я не могу редактировть письма подписчиков -
объединять их, и.т.д.). Потому что это - дискуссионный лист.
Можно только самому зайти в настройки подписки и выбрать режим дайджеста -
тогда как раз и будет приходить куча писем в одном письме.
Подробнее - смотрите в настройках. Но там, кажется,
будут только начала писем. Может сейчас можно делать чтобы письма целиком
вставлялись.
Все делается на странице управления подпиской.

Кстати, такие вопросы часто поднимались самими ведущими листов.

Процитирую ответ одного ведущего на письмо другого :

Это не повторы, это называется цитированием исходного
сообщения. Если я вас правильно понял.

..новичков.
Люди с опытом работы в конференциях знают, что без этого
никак.

Это не беда, а счастье! Это значит, что вы можете получить
ответ на вопрос уже в течении нескольких минут...
А представьте, что у вас проблема со сканером, а вам нужно
СРОЧНО в течении трёх часов отсканировать изображение...

Где ещё вы совершенно бесплатно получите оперативную помощь?

Угу... Когда-то давно, в январе этого года на моё обвинение
одного подписчика, что он кинул 50 килобайт ненужной на мой
взгляд инфы в конференцию, кто-то сказал мне: "Чтобы узнать,
что такое трафик, подпишись на SW-Rus@YahooGroups.".
Я не обратил на это внимания и забыл об этом письме, а через
6 или 7 месяцев была необходимость, и я подписался на эту
конференцию...
То, что вы видите большой проблемой, на самом деле просто
смех по сравнению с теми 300-400-ми письмами в сутки...

эффект

участников

Если один частник дал ответ на вопрос, то повторяться
бессмысленно.
На моей памяти в моих листах повторных ответов было максимум
- 5 или 6... Не считая периода, когда лист стоял на
глобальном модерировании. Тогда и по 15 одинаковых ответов
приходило...

И правильно. Остаются самые стойкие и опытные люди. А чем
больше опытных людей, тем более гладко будет проходить
общение.
Вон на Яхе в некоторых листах я в течении семи месяцев не
получаю писем от модераторов. Как будто их и нету... А
потому что общаться все умеют правильно и контролировать
никого не надо.

Vic.

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Thu, 4 Dec 2003 23:52:18 +0300 (#29599)

 

Hello, Лена

Виндовое сообщение окну, оконное сообщение виньде, тфу-ты, совсем
запутался... В общем сообщение, по которому программа понимает, что
порабы обновить содержимое окна. В обработчике этого окна обычно
содержиться процедуры прорисовки окна (например, вывод определенного
текста).

PS. Всем рекомендую найти книгу Чарльза Петзольда "Программирование для
виндовс 95" - многие вопросы начального уровня отпадут сразу. Книга
заточена под простой С, без всяких MFC и визардов (т.е. весь код
пишется руками, зато потом оно понятнее все).

Best regards,
mad_ras_prog mailto:mad_ras_pr***@t*****.by

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   mad_ras_prog Tue, 2 Dec 2003 16:27:04 +0200 (#29203)

 

Hello Юрчик,

Tuesday, December 2, 2003, 11:17:28 AM, you wrote:

прямоугольные

Наверно,

У меня есть пример из интернета полностью работающий проект но так как
переслать через конференцию файл невозможно отправляю Юрий тебе на
твой e-mail. Кому если надо посылайте свои адреса

Владимир

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   bvb Tue, 2 Dec 2003 21:12:52 +0500 (#28398)

 

Здравствуйте !

Гы ! А что стесьняться то ? Дискуссия то для того и есть, чтобы
общаться.

... и для передачи опыта...

Нет, WM_PAINT обрабатывать не надо.

Есть одна волшебная функция :

int SetWindowRgn(
HWND hWnd, // handle to window
HRGN hRgn, // handle to region
BOOL bRedraw // window redraw option
);

и все :-)

Попробуйте :

На MFC :

// эти 3 строчки надо писать в классе какого нибудь окна.
// например в OnInitDialog диалога

CRgn rgn;

rgn.CreateEllipticRgn(0, 0, 300, 150);

SetWindowRgn(GetSafeHwnd(), (HRGN) rgn, TRUE);

А если наклаывать сверху картинку, то, конечно, надо обрабатывать
WM_PAINT.

Vic.

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Sun, 2 Jun 2002 22:10:40 +0400 (#28515)

 

Hello, Юрчик

прямоугольные

Наверно,

Тебе на чем надо-то? Если на дельфи, то поищи сайт толи BestDelphi,
то-ли на "королевстве дельфи" (адрес не знаю), а вообще вроде в любом
ФАКЕ по Делфи есть (если не найдешь, то скажи, посмотрю у себя, счас просто
лень искать, долго, и времени нет)

Что это за алгоритмы?

Best regards,
mad_ras_prog mailto:mad_ras_pr***@t*****.by

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   mad_ras_prog Tue, 2 Dec 2003 16:17:24 +0200 (#29202)

 

Рад приветствовать, Юрчик!

Довелось мне Tuesday, December 02, 2003 читать, следующее:

прямоугольные

Скорее всего, надо ручками писать - делаешь битмап, рисуешь там свои
области разными цветами (он не выводится, а только для проверки
попадания в нужную область (кнопка, поле ввода и т.д.) - так можно
вообще не заботиться о сложности формы), выводишь какой-то свой
интерфейс (вот этот битмап уже как скин, но координаты особых
областей должны совпадать с исходной монотонной картинкой). Знаю, что
запутано звучит, но очень просто в реализации (особо, когда пишешь
полностью свой интерфейс). Помню был мп3-плеер Sonique, так там это
всё прям открыто лежало - смотри не хочу.

Наверно,

Если хочешь что-то сложнее приевшихся примитивов, то несомненно.

Скорее всего, речь об алгоритмах поиска пути (нынче это особо для игр
актуально). И, насколько помню, на взвешенных графах, скоростью не
отличается. Если интересуют подробности где-то у меня были ссылочки,
могу поискать, так как рассказ долгий и не архи-простой.

Alles Gutes!

CU @ http://smuta.boom.ru
...In Code We Trust...
При желании, mailto:deniskravtso***@m*****.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Wed, 3 Dec 2003 22:16:42 +0300 (#29473)