FAQ:WinAPI VCPP — различия между версиями
Материал из Весельчак У
RXL (обсуждение | вклад) |
RXL (обсуждение | вклад) (Добавлена статья "WinAPI VCPP:получить значение пиксела на экране".) |
||
Строка 1: | Строка 1: | ||
− | ==Ответы на часто задаваемые вопросы по Windows API и VC++.== | + | == Ответы на часто задаваемые вопросы по Windows API и VC++. == |
− | + | ||
− | + | Составлено по материалам [http://forum.shelek.ru форума программистов]. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | #[[FAQ:WinAPI VCPP:файл и версия класса ActiveX|У меня есть наименование класса ActiveX. Мне необходимо узнать в каком файле он находится, и какой версии этот файл.]] | ||
+ | #[[FAQ:WinAPI VCPP:разделяемые переменные в dll|Имеется DLL. В ней есть некоторые данные (скажем, массив int). Как сделать, чтобы переменные в DLL были одними и теми же для всех программ, использующих эту DLL? (Например, при загрузке DLL в массиве нет данных. Каждая программа добавит в массив новые данные.)]] | ||
+ | #[[FAQ:WinAPI VCPP:CScrollView и определение координат курсора мыши|Если окно объекта, производного от CScrollView, имеет полосы прокрутки, то как определить координаты курсора мыши?]] | ||
+ | #[[FAQ:WinAPI VCPP:преобразование абсолютных координат экрана в относительные координаты окна|Если известны абсолютные координаты точки на экране, как перевести эти координаты в относительные координаты некоторого известного окна?]] | ||
+ | #[[FAQ:WinAPI VCPP:моноширинный шрифт|Когда я вывожу две строки (одна под другой), то положение символа в строках зависит от ширины символа, а хотелось бы, чтобы символы располагались один под другим.]] | ||
+ | #[[FAQ:ANSI CPP:обращение к переменной или методу базового класса|Как обратиться к переменной или методу базового класса?]] | ||
+ | #[[FAQ:WinAPI VCPP:записать данные в файл|Как записать данные в файл?]] | ||
+ | #[[FAQ:WinAPI VCPP:запустить две программы под отладчиком в VC6|Имеются две программы, взаимодействующие между собой. Можно ли в MS VC6 запустить под отладчиком одновременно две программы?]] | ||
+ | #[[FAQ:WinAPI VCPP:доступ к объекту класса CFrameWnd из функций-членов класса CMyView|Каким образом можно получить доступ к объекту в классе CFrameWnd из функций-членов класса CMyView?]] | ||
+ | #[[FAQ:WinAPI VCPP:сохранить иконку в ресурсах VC6|Я рисую новую иконку в ресурсах проекта VC6, но после запуска программы показывается старая иконка. Что делать?]] | ||
+ | #[[FAQ:WinAPI VCPP:программно выравнять CDialogBar|Как программно расположить один CDialogBar под другим при их вертикальном расположении?]] | ||
+ | #[[FAQ:WinAPI VCPP:добавить возврат каретки к переменной типа CString|Как добавить возврат каретки к переменной типа CString?]] | ||
+ | #[[FAQ:WinAPI VCPP:акселераторы в MFC приложении|Как в диалоговом MFC приложении добавить accelerator'ы? В редакторе ресурсов создаю, а применить не могу.]] | ||
+ | #[[FAQ:WinAPI VCPP:создать exe-шник меньше 24-х килобайт|Как создать в VC++ exe-шник меньше 24-х килобайт?]] | ||
+ | #[[FAQ:WinAPI VCPP:удалить пункт меню|Как удалить из меню пункт?]] | ||
+ | #[[FAQ:WinAPI VCPP:добавить пункт меню|Как добавить пункт в меню?]] | ||
+ | #[[FAQ:WinAPI VCPP:вывод на печать с помощью DCD|Как вывести на печать то, что я нарисовал в контексте устройства (класс CDC)?]] | ||
+ | #[[FAQ:WinAPI VCPP:рисование на контексте устройства|Как нарисовать линию или прямоугольник на контексте устройства (CDC)? Как выбрать цвет и толщину линии?]] | ||
+ | #[[FAQ:WinAPI VCPP:сменить шрифт контекста устройства|Как сменить шрифт при выводе текста на CDC?]] | ||
+ | #[[FAQ:WinAPI VCPP:скопировать класс из одного проекта в другой|Как мне скопировать класс из одного проекта в другой? Код класса находится в файлах проекта в виде исходников.]] | ||
+ | #[[FAQ:WinAPI VCPP:иконка в области уведомлений (системном трее)|Как создать иконку в области уведомлений (системном трее)? Как определить, какие действия производит с иконкой пользователь? Как сделать анимацию иконки в трее? Как удалить иконку?]] | ||
+ | #[[FAQ:WinAPI VCPP:прервать длительный процесс вычисления|У меня в программе имеется процедура, которая производит очень много вычислений. Как сделать так, чтобы пользователь мог прервать процесс вычислений?]] | ||
+ | #[[FAQ:WinAPI VCPP:обратиться к COM из дополнительного потока|Не могу обратиться к COM из дополнительного потока. Мне пишут - "CoInitialize() не вызвано".]] | ||
+ | #[[FAQ:WinAPI VCPP:диалог выбора папок|Как с помощью CFileDialog разрешить выбирать только папки?]] | ||
+ | #[[FAQ:WinAPI VCPP:обработка нажания клавиш в CDialog|Как в CDialog-based классе получить коды клавиш, которые нажимает пользователь? Пробовал добавлять обработчики OnChar() и OnKeyDown(), но эти обработчики вообще не вызываются.]] | ||
+ | #[[FAQ:WinAPI VCPP:заполнить блок памяти значением|Как заполнить блок памяти определённым значением?]] | ||
+ | #[[FAQ:WinAPI VCPP:сравнить два блока памяти|Как сравнить два блока памяти на равенство значений?]] | ||
+ | #[[FAQ:WinAPI VCPP:скопировать блок памяти|Как скопировать блок памяти?]] | ||
+ | #[[FAQ:WinAPI VCPP:удалить контрол из собственного обработчика|Нужно удалить контрол (CComboBox) из диалога. Причём это надо сделать из обработчика сообщения этого контрола.]] | ||
+ | #[[FAQ:WinAPI VCPP:экспорт функций из DLL|Я создал простой проект DLL на VC++ 6.0. Все скомпилировалось нормально. Но в другой программе не могу вызвать функцию из DLL - программа не может найти функцию по имени.]] | ||
+ | #[[FAQ:WinAPI VCPP:получение имени класса и метода|Есть ли какой-нибудь макрос в VC7, возвращающий строку вида ClassName::FunctionName внутри соответствующей функции?]] | ||
+ | #[[FAQ:WinAPI VCPP:динамическая загрузка ресурсов в ATL проекте|Как динамически подгрузить ресурсы к ATL проекту?]] | ||
+ | #[[FAQ:WinAPI VCPP:динамическая загрузка ресурсов в MFC проекте|Как динамически подгрузить ресурсы к MFC проекту?]] | ||
+ | #[[WinAPI VCPP:получить значение пиксела на экране| Как узнать значение цвета пиксела в определенной точке экрана (не окна формы)?]] | ||
− | (Идет работа в разделе.) | + | <br> (Идет работа в разделе.) |
− | * [[FAQ:WinAPI, VCPP | + | *[[FAQ:WinAPI, VCPP Part 2|Часть 2]] |
− | * [[FAQ:WinAPI, VCPP | + | *[[FAQ:WinAPI, VCPP Part 3|Часть 3]] |
− | * [[FAQ:WinAPI, VCPP | + | *[[FAQ:WinAPI, VCPP Part 4|Часть 4]] |
− | [[Category:FAQ]] | + | [[Category:FAQ]] [[Category:FAQ:WinAPI_VCPP]] |
− | [[Category:FAQ: | + |
Версия 18:41, 20 сентября 2008
Ответы на часто задаваемые вопросы по Windows API и VC++.
Составлено по материалам форума программистов.
- У меня есть наименование класса ActiveX. Мне необходимо узнать в каком файле он находится, и какой версии этот файл.
- Имеется DLL. В ней есть некоторые данные (скажем, массив int). Как сделать, чтобы переменные в DLL были одними и теми же для всех программ, использующих эту DLL? (Например, при загрузке DLL в массиве нет данных. Каждая программа добавит в массив новые данные.)
- Если окно объекта, производного от CScrollView, имеет полосы прокрутки, то как определить координаты курсора мыши?
- Если известны абсолютные координаты точки на экране, как перевести эти координаты в относительные координаты некоторого известного окна?
- Когда я вывожу две строки (одна под другой), то положение символа в строках зависит от ширины символа, а хотелось бы, чтобы символы располагались один под другим.
- Как обратиться к переменной или методу базового класса?
- Как записать данные в файл?
- Имеются две программы, взаимодействующие между собой. Можно ли в MS VC6 запустить под отладчиком одновременно две программы?
- Каким образом можно получить доступ к объекту в классе CFrameWnd из функций-членов класса CMyView?
- Я рисую новую иконку в ресурсах проекта VC6, но после запуска программы показывается старая иконка. Что делать?
- Как программно расположить один CDialogBar под другим при их вертикальном расположении?
- Как добавить возврат каретки к переменной типа CString?
- Как в диалоговом MFC приложении добавить accelerator'ы? В редакторе ресурсов создаю, а применить не могу.
- Как создать в VC++ exe-шник меньше 24-х килобайт?
- Как удалить из меню пункт?
- Как добавить пункт в меню?
- Как вывести на печать то, что я нарисовал в контексте устройства (класс CDC)?
- Как нарисовать линию или прямоугольник на контексте устройства (CDC)? Как выбрать цвет и толщину линии?
- Как сменить шрифт при выводе текста на CDC?
- Как мне скопировать класс из одного проекта в другой? Код класса находится в файлах проекта в виде исходников.
- Как создать иконку в области уведомлений (системном трее)? Как определить, какие действия производит с иконкой пользователь? Как сделать анимацию иконки в трее? Как удалить иконку?
- У меня в программе имеется процедура, которая производит очень много вычислений. Как сделать так, чтобы пользователь мог прервать процесс вычислений?
- Не могу обратиться к COM из дополнительного потока. Мне пишут - "CoInitialize() не вызвано".
- Как с помощью CFileDialog разрешить выбирать только папки?
- Как в CDialog-based классе получить коды клавиш, которые нажимает пользователь? Пробовал добавлять обработчики OnChar() и OnKeyDown(), но эти обработчики вообще не вызываются.
- Как заполнить блок памяти определённым значением?
- Как сравнить два блока памяти на равенство значений?
- Как скопировать блок памяти?
- Нужно удалить контрол (CComboBox) из диалога. Причём это надо сделать из обработчика сообщения этого контрола.
- Я создал простой проект DLL на VC++ 6.0. Все скомпилировалось нормально. Но в другой программе не могу вызвать функцию из DLL - программа не может найти функцию по имени.
- Есть ли какой-нибудь макрос в VC7, возвращающий строку вида ClassName::FunctionName внутри соответствующей функции?
- Как динамически подгрузить ресурсы к ATL проекту?
- Как динамически подгрузить ресурсы к MFC проекту?
- Как узнать значение цвета пиксела в определенной точке экрана (не окна формы)?
(Идет работа в разделе.)