FAQ:WinAPI VCPP — различия между версиями

Материал из Весельчак У
Перейти к: навигация, поиск
Строка 53: Строка 53:
 
#[[FAQ:WinAPI VCPP:вызов метода CMainFrame из любого места программы|Как вызвать метод главного окна (если используется класс CMainFrame) из любого места программы?]]
 
#[[FAQ:WinAPI VCPP:вызов метода CMainFrame из любого места программы|Как вызвать метод главного окна (если используется класс CMainFrame) из любого места программы?]]
 
#[[FAQ:WinAPI VCPP:запрет появления полос прокруток на CFormView|Как запретить появление полос прокруток на форме класса CFormView, когда пользователь делает размер главного окна меньше размера формы?]]
 
#[[FAQ:WinAPI VCPP:запрет появления полос прокруток на CFormView|Как запретить появление полос прокруток на форме класса CFormView, когда пользователь делает размер главного окна меньше размера формы?]]
 +
#[[FAQ:WinAPI VCPP:нарисовать прямоугольник с вертикальным цветовым градиентом|Как нарисовать прямоугольник с вертикальным цветовым градиентом?]]
 +
#[[FAQ:WinAPI VCPP:отслеживание изменения файла в Windows|Как под Windows отслеживать изменение файла?]]
 +
#[[FAQ:WinAPI VCPP:конвертировать char* в CString|Как конвертировать массив char[] в CString?]]
 +
#[[FAQ:WinAPI VCPP:зарезервировать буфер в CString|Как зарезервировать в CString буфер нужной длины?]]
 +
#[[FAQ:WinAPI VCPP:передача нескольких параметров в процедуру потока|Как передать больше одного параметр в процедуру потока?]]
 +
#[[FAQ:WinAPI VCPP:убрать главное меню из окна CMainFrame|Как убрать главное меню из окна CMainFrame?]]
 +
#[[FAQ:WinAPI VCPP:определение завершение сессии Windows|Как работающая программа может определить, что пользователь завершает работу Windows?]]
 +
#[[FAQ:WinAPI VCPP:всплывающая подсказка для CWnd|Как сделать всплывающую подсказку для класса CWnd и классов, от него производных?]]
 +
#[[FAQ:WinAPI VCPP:просмотреть содержимое std::vector string в отладчике|Как в отладчике Visual С++ просмотреть содержимое std::vector<string>?]]
 +
#[[FAQ:WinAPI VCPP:определить ширину и высоту текста при выводе на контекст устройства|Как при выводе текста на контекст устройства определить ширину и высоту выведенных символов текста в пикселах?]]
  
 
<br> (Идет работа в разделе.)  
 
<br> (Идет работа в разделе.)  
  
*[[FAQ:WinAPI, VCPP Part 2|Часть 2]]
 
 
*[[FAQ:WinAPI, VCPP Part 3|Часть 3]]  
 
*[[FAQ:WinAPI, VCPP Part 3|Часть 3]]  
 
*[[FAQ:WinAPI, VCPP Part 4|Часть 4]]
 
*[[FAQ:WinAPI, VCPP Part 4|Часть 4]]
  
 
[[Category:FAQ]] [[Category:FAQ:WinAPI_VCPP]]
 
[[Category:FAQ]] [[Category:FAQ:WinAPI_VCPP]]

Версия 20:33, 2 ноября 2008

Ответы на часто задаваемые вопросы по Windows API и VC++.

Составлено по материалам форума программистов.

  1. У меня есть наименование класса ActiveX. Мне необходимо узнать в каком файле он находится, и какой версии этот файл.
  2. Имеется DLL. В ней есть некоторые данные (скажем, массив int). Как сделать, чтобы переменные в DLL были одними и теми же для всех программ, использующих эту DLL? (Например, при загрузке DLL в массиве нет данных. Каждая программа добавит в массив новые данные.)
  3. Если окно объекта, производного от CScrollView, имеет полосы прокрутки, то как определить координаты курсора мыши?
  4. Если известны абсолютные координаты точки на экране, как перевести эти координаты в относительные координаты некоторого известного окна?
  5. Когда я вывожу две строки (одна под другой), то положение символа в строках зависит от ширины символа, а хотелось бы, чтобы символы располагались один под другим.
  6. Как обратиться к переменной или методу базового класса?
  7. Как записать данные в файл?
  8. Имеются две программы, взаимодействующие между собой. Можно ли в MS VC6 запустить под отладчиком одновременно две программы?
  9. Каким образом можно получить доступ к объекту в классе CFrameWnd из функций-членов класса CMyView?
  10. Я рисую новую иконку в ресурсах проекта VC6, но после запуска программы показывается старая иконка. Что делать?
  11. Как программно расположить один CDialogBar под другим при их вертикальном расположении?
  12. Как добавить возврат каретки к переменной типа CString?
  13. Как в диалоговом MFC приложении добавить accelerator'ы? В редакторе ресурсов создаю, а применить не могу.
  14. Как создать в VC++ exe-шник меньше 24-х килобайт?
  15. Как удалить из меню пункт?
  16. Как добавить пункт в меню?
  17. Как вывести на печать то, что я нарисовал в контексте устройства (класс CDC)?
  18. Как нарисовать линию или прямоугольник на контексте устройства (CDC)? Как выбрать цвет и толщину линии?
  19. Как сменить шрифт при выводе текста на CDC?
  20. Как мне скопировать класс из одного проекта в другой? Код класса находится в файлах проекта в виде исходников.
  21. Как создать иконку в области уведомлений (системном трее)? Как определить, какие действия производит с иконкой пользователь? Как сделать анимацию иконки в трее? Как удалить иконку?
  22. У меня в программе имеется процедура, которая производит очень много вычислений. Как сделать так, чтобы пользователь мог прервать процесс вычислений?
  23. Не могу обратиться к COM из дополнительного потока. Мне пишут - "CoInitialize() не вызвано".
  24. Как с помощью CFileDialog разрешить выбирать только папки?
  25. Как в CDialog-based классе получить коды клавиш, которые нажимает пользователь? Пробовал добавлять обработчики OnChar() и OnKeyDown(), но эти обработчики вообще не вызываются.
  26. Как заполнить блок памяти определённым значением?
  27. Как сравнить два блока памяти на равенство значений?
  28. Как скопировать блок памяти?
  29. Нужно удалить контрол (CComboBox) из диалога. Причём это надо сделать из обработчика сообщения этого контрола.
  30. Я создал простой проект DLL на VC++ 6.0. Все скомпилировалось нормально. Но в другой программе не могу вызвать функцию из DLL - программа не может найти функцию по имени.
  31. Есть ли какой-нибудь макрос в VC7, возвращающий строку вида ClassName::FunctionName внутри соответствующей функции?
  32. Как динамически подгрузить ресурсы к ATL проекту?
  33. Как динамически подгрузить ресурсы к MFC проекту?
  34. Как узнать значение цвета пиксела в определенной точке экрана (не окна формы)?
  35. Возможно ли использование файлов чистого С и С++ в одном проекте? Если да, то каковы должны быть настройки компилятора? А то ругается на Unexpected end of file while looking for precompiled header directive.
  36. Каким образом можно установить значение переменной для вызывающего процесса или потока из своей собственной DLL?
  37. Как закрасить фон окна CWnd?
  38. Как определить, что курсор мыши вышел за границу окна?
  39. Когда размещаю компонент RichEdit на форму, программа запускается и тут же закрывается. Что здесь не так?
  40. Как сделать обработчик сообщения для нескольких элементов управления сразу?
  41. Когда я запускаю программу, все надписи на русском языке теряются - показываются вопросики. Что делать?
  42. Как в проекте VC6 MFC программно получить путь, откуда был запущен экзешник (исполняемый модуль) самой программы?
  43. Как получить доступ к элементам управления панели CReBar, принадлежащей классу MainFrame?
  44. Как загрузить и показать один из стандартных курсоров?
  45. Как запретить пользователю закрыть программу нажатием на кнопку с крестиком?
  46. Как создать на диалоге группу элементов "RadioButton" и как задать порядок их обхода клавишей Tab?
  47. Где лучше устанавливать начальные значения элемента CComboBox?
  48. Как перевести RichEdit в режим замены символов?
  49. Как вызвать метод главного окна (если используется класс CMainFrame) из любого места программы?
  50. Как запретить появление полос прокруток на форме класса CFormView, когда пользователь делает размер главного окна меньше размера формы?
  51. Как нарисовать прямоугольник с вертикальным цветовым градиентом?
  52. Как под Windows отслеживать изменение файла?
  53. Как конвертировать массив char[] в CString?
  54. Как зарезервировать в CString буфер нужной длины?
  55. Как передать больше одного параметр в процедуру потока?
  56. Как убрать главное меню из окна CMainFrame?
  57. Как работающая программа может определить, что пользователь завершает работу Windows?
  58. Как сделать всплывающую подсказку для класса CWnd и классов, от него производных?
  59. Как в отладчике Visual С++ просмотреть содержимое std::vector<string>?
  60. Как при выводе текста на контекст устройства определить ширину и высоту выведенных символов текста в пикселах?


(Идет работа в разделе.)