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

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

За 2004-05-31

Re: Проблема с указателями в WinAPI

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

> 2. во втором случае в параметре VirtualAlloc передана немного неожиданная
> комбинация флагов: 0x8000000 это SEC_COMMIT, используемый при
> создании области разделяемой памяти, но явного указания на то, что
> этот флаг можно использовать для VirtualAlloc мне не удалось найти;

Вот-вот ! Мне тоже :-)

> можно посмотреть на полученное значение адреса, чтобы
> убедиться, что выделена именно разделяемая память

Скорее всего так и есть.
Однако, это только автор темы прояснить может.

--
С уважением, Вахтуров Виктор.
Информационный сайт для программистов http://SoftMaker.com.ru
Номер выпуска : 3178
Возраст листа : 252 (дней)
Количество подписчиков : 413
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/158783
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

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

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-05-31 22:03:02 (#158783)

Re[3]: [WinAPI] Как получить пользовательский шрифт кнопок или меню?

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

> >> Подскажите пожалуйста функцию WinAPI, подобную GetSysColor
> >> или GetSysColorBrush, но только для шрифтов.

> ЕА> Шрифт SYSTEM_FONT по умолчанию используется для отрисовки
> ЕА> органов управления, меню и т.п.
> Я тоже так думал :)

Может, Вам поможет функция SystemParametersInfo с первым
параметром - SPI_GETNONCLIENTMETRICS.
Смотрите также описание структуры NONCLIENTMETRICS.

--
С уважением, Вахтуров Виктор.
Информационный сайт для программистов http://SoftMaker.com.ru
Номер выпуска : 3177
Возраст листа : 252 (дней)
Количество подписчиков : 413
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/158781
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

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

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-05-31 22:02:51 (#158781)

Компонента Delphi

Здравствуйте. Подскажите пожалуйста компоненту для рисования иконок в форме либо
окне. Проблема в том, что есть база с
документами (Word, Excel и т.д.). Нужно выводить список документов в окно с соответствующими
пиктограммами и по щелчку запускать соответствующие приложения. Заранее спасибо.
Номер выпуска : 3176
Возраст листа : 252 (дней)
Количество подписчиков : 413
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/158779
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

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

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-05-31 22:02:19 (#158779)

Re: asm ide

Yury wrote:

> подскажите, существует ли хорошая система для написания программ на
> ассемблере - аналогичная по возможностям Visual C++ или Delphi, т.е.
> встроенный компилятор, линкер, отладчик, редактор, менеджер проектов,
> браузер кода и т.д.
> раньше немного занимался асмом - писал проги в обычном редакторе и
> компилил с помощью tasm, потом забросил именно из-за того что все
> это неудобно...
>
>
>
Как насчет C/C++ IDE и *_asm* keyword? :)

--
Sam Mesh - http://openrules.com
Номер выпуска : 3175
Возраст листа : 252 (дней)
Количество подписчиков : 413
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/158766
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

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

http://subscribe.ru/ mailto:ask@subscribe.ru

   Sam Mesh 2004-05-31 21:48:21 (#158766)

asm ide

Доброго времени суток comp,

подскажите, существует ли хорошая система для написания программ на
ассемблере - аналогичная по возможностям Visual C++ или Delphi, т.е.
встроенный компилятор, линкер, отладчик, редактор, менеджер проектов,
браузер кода и т.д.
раньше немного занимался асмом - писал проги в обычном редакторе и
компилил с помощью tasm, потом забросил именно из-за того что все
это неудобно...

   2004-05-31 21:02:14 (#158743)

Re[2]: [WinAPI] Как получить пользовательский шрифт кнопок или меню?

>> Подскажите пожалуйста функцию WinAPI, подобную GetSysColor
>> или GetSysColorBrush, но только для шрифтов.
ЕА> Аналог - GetStockObject с указанием соответствующей константы (SYSTEM_FONT,
ЕА> ANSI_VAR_FONT, ...). С помощью GetObject можно затем получить LOGFONT.
ЕА> Шрифт SYSTEM_FONT по умолчанию используется для отрисовки
ЕА> органов управления, меню и т.п.
Я тоже так думал :)
SYSTEM_FONT System font. By default, the system uses the system font
to draw menus, dialog box controls, and text.
Windows 95/98 and Windows NT: The system font is MS Sans Serif.
Windows 2000/XP: The system font is Tahoma
Там даже не Tahoma, а MS System.

В этом и есть проблема - отрисовка по умолчанию не
совпадает с установками в свойствах экрана.

>> Задача такая ... рисовать текст шрифтом, установленным для
>> "рельефных объектов" в "свойствах экрана". Т.е. нужно
>> как-то узнать этот шрифт.
ЕА> С этим, к сожалению, помочь не могу - такая задача не возникала, а
ЕА> вспомнить, есть ли это где-нибудь в документации, не удалось.
ЕА> Узнать об использовании и получении этих
ЕА> параметров было бы интересно и мне.
Вообще контрол был написан на MFC как унаследованный от CListBox.
Cоздавался Creat'ом напрямую в OnInitDialog'е.
Сейчас скинул на диалог обычный listbox и создал для него
переменную моего класса. И теперь в контексте, передаваемом в
DrawItem при прорисовке элемента списка, уже выбран нужный шрифт ;)

Но проблема остаётся... как получить нормальный шрифт, которым следует
рисовать текст в списках, кнопках и т.д., если создавать контролы не
в диалоге, например?

Как мне кажется это и проблема известного
Total Commander'а =) Часто слышу возгласы, что там уродский шрифт и
народ бы пользовался, да не нравится как выглядит, а потом с
удивлением слушают рассказ о том, что шрифт можно настроить...

ЕА> Последнее уточнение. Если используется Win XP и действуют
ЕА> темы, более точные сведения о параметрах отрисовки
ЕА> можно получить через Theme API. Например, можно
ЕА> получить шрифт для кнопки в различных
ЕА> состояниях с помощью GetThemeFont().
Это уже отдельный разговор.. Здесь вроде как полегче получить
нужную информацию. Но надо чтобы в ME/2000 тоже нормально рисовалось.
(желательно ;))

   Ivan Mikheikin 2004-05-31 15:08:04 (#158498)

Re: Проблема с указателями в WinAPI

CB> Есть проблема... Почему так не работает
CB>
CB> //........
CB> POINT pt;
CB> SendMessage(hSomeListView,LVM_GETITEMPOSITION,(WPARAM)index,(LPARAM)&pt);
CB> // При работе COMCTL32.dll выполняет недопустимую операцию
CB> //........
CB>
CB> А так работает
CB>
CB> //........
CB> POINT *ppt = (POINT*)VirtualAlloc(NULL,sizeof(POINT),0x8000000|MEM_COMMIT,PAGE_READWRITE);
CB> SendMessage(hSomeListView,LVM_GETITEMPOSITION,(WPARAM)index,(LPARAM)ppt);
CB> VirtualFree(ppt,0,MEM_RELEASE);
CB>
Занятный вопрос :) Обсудить его было бы интересно...

Ответ получается из двух предположений:
1. поскольку программа в первом случае валится, скорее всего, hSomeListView -
дескриптор окна другого процесса (об этом уже упомянул "Victor Vakchturov");
вероятность совпадения адресов стека в адресных пространствах
двух процессов ничтожна
2. во втором случае в параметре VirtualAlloc передана немного неожиданная
комбинация флагов: 0x8000000 это SEC_COMMIT, используемый при
создании области разделяемой памяти, но явного указания на то, что
этот флаг можно использовать для VirtualAlloc мне не удалось найти;
можно посмотреть на полученное значение адреса, чтобы
убедиться, что выделена именно разделяемая память

--
Номер выпуска : 3172
Возраст листа : 252 (дней)
Количество подписчиков : 413
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/158264
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

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

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-05-31 10:37:13 (#158264)