|
Описание категории |
|
|
|
Статьи |
|
|
Использование ListView в режиме виртуального списка [Рейтинг: 3310 Автор: Тимофей Чадов] Демонстрационная программа - 161 KBИсходные тексты - 39 KB
Как получить системный ImageList? [Рейтинг: 2909 Автор: Игорь Вартанов] Как получить системный ImageList?
Как добавить всплывающие подсказки для элементов управления диалога? [Рейтинг: 3120 Автор: Игорь Вартанов] Демонстрационный проект ToolTip
Как создать многострочный тултип? [Рейтинг: 2756 Автор: Александр Шаргин] Начиная с версии 4.70 библиотеки Comctl32.dll тултипы поддерживают многострочный режим работы. По умолчанию он выключен, и всё, что требуется от нас - активизировать его. Для этого предназначено сообщение TTM_SETMAXTIPWIDTH, которое позволяет задать ширину тултипа (в пикселях). По умолчанию ширина у...
Как создать не исчезающий со временем тултип? [Рейтинг: 2641 Автор: Александр Шаргин] Первое, что приходит в голову в связи с этим вопросом - это сообщение TTM_SETDELAYTIME. Оно предназначено для задания различных временных интервалов, связанных с тултипом. В частности интервал, задаваемый флагом TTDT_AUTOPOP, определяет промежуток времени, по истечении которого тултип исчезает автом...
Как изменить цвет текста и фона тултипа? [Рейтинг: 2566 Автор: Александр Шаргин] Для этой цели предусмотрены специальные сообщения TTM_SETTIPTEXTCOLOR и TTM_SETTIPBKCOLOR. После того как тултип создан, их можно отправлять с использованием функции SendMessage. При этом в wParam записывается новое значение цвета, а содержимое lParam игнорируется. Рассмотрим пример, в котором для т...
Исчерпывающее руководство по написанию всплывающих подсказок [Рейтинг: 3390 Автор: Роджер Джек] Автор подробно рассматривает всевозможные виды подсказок и их реализацию, включая поддержку подсказок классами библиотеки MFC, добавление подсказок к элементам Web-страниц, реализацию подсказок "вручную" и другое.
Почему edit box не реагирует на Enter? [Рейтинг: 2565 Автор: Игорь Вартанов] Очевидно, установлен неподходящий стиль окна редактирования. Стандартное однострочное окно игнорирует ввод Enter. Это сообщение будет транслировано системой в нажатие текущей "кнопки по-умолчанию" в родительском окне. Чтобы окно ввода начало реагировать на нажатие Enter, оно должно иметь стили ES_MU...
Как вставить в edit box многострочный текст? [Рейтинг: 2743 Автор: Игорь Вартанов] Для того, чтобы окно редактирования могло отобразить многострочный текст, сам контрол должен иметь стиль ES_MULTILINE, и текст в окне должен разделяться на строки цепочками символов
. Чтобы разбивать текст на строки во время ввода с клавиатуры (нажатием Enter), необходимо добавить окну редактиро...
Как программно изменить высоту выпадающего списка? [Рейтинг: 2687 Автор: Игорь Вартанов] Поскольку высота списка combobox-контрола определяется высотой самого контрола, то для ее изменения необходимо изменить высоту контрола любым доступным способом.
Почему не появляется выпадающий список? [Рейтинг: 2189 Автор: Игорь Вартанов] Такой эффект имеет место при неправильном заданиии высоты контрола combo box. В этом случае вместо выпадающего списка под полем ввода отрисовывается утолщенная линия. Проблема может быть решена увеличением высоты контрола, как программым способом, так и редактированием ресурс-скрипта диалога на этап...
Как сделать нестандартную кнопку на основе битмапа? [Рейтинг: 2497 Автор: Игорь Вартанов] Демонстрационный проект bmpbtn (33.1KB)
Как узнать, что мышь вышла за пределы окна? [Рейтинг: 2346 Автор: Александр Шаргин] При создании пользовательского интерфейса иногда требуется определить момент, когда курсор мыши выходит за пределы окна. Для решения этой задачи существуют различные методы. Можно воспользоваться готовой функцией TrackMouseEvent, которая появилась в Win32 API, начиная с Windows 98/NT4, или же эквива...
Как получить хэндл окна консольного приложения? [Рейтинг: 2531 Автор: Игорь Вартанов] Нечасто, но иногда все же бывает необходимо получить хэндл окна консольного приложения. Windows API не предусматривает никакой специальной функции для выполнения этой задачи, однако для её решения можно найти обходные пути.
Почему вместо русских букв в консольном приложении выводится мусор? [Рейтинг: 2732 Автор: Алексей Кирюшкин] Итак, Вы сваяли в Visual Studio что-то типа
Как отобразить индикатор прогресса на строке состояния? [Рейтинг: 2405 Автор: Александр Шаргин] Чтобы решить эту задачу, достаточно вспомнить, что строка состояния - это самое обыкновенное окно, на котором можно создавать дочерние окна. В данном случае нам потребуется создать контрол типа progress bar, задав для него стиль WS_CHILD и строку состояния в качестве родительского окна. Когда индика...
Как выдать окно выбора каталога? [Рейтинг: 2356 Автор: Игорь Ткачёв] Windows Shell API включает функцию SHBrowseForFolder, которая отображает стандартный диалог, с помощью которого пользователь может выбрать нужный каталог. На самом деле, выбрать можно не только каталог, а любой объект Shell namespace, в том числе принтеры и компьютеры. Ниже приведён пример...
CIconDialog – Расширяем MFC [Рейтинг: 2137 Автор: Армен Акопян] Демонстрационная программа – 12KbДемонстрационный проект – 26KbТолько исходные файлы класса – 3Kb
Создание локализованных приложений [Рейтинг: 2491 Автор: Гулай Борис aka BoresExpress] Многие разработчики мечтают о всемирной популярности своих приложений, но почти никто не создает локализованных версий своих приложений, ошибочно полагая, что программа должна сначала завоевать популярность.
Почему вместо нормального контекстного меню появляется узкая полоска? [Рейтинг: 2061 Автор: Александр Шаргин] Обычно такая проблема возникает, когда вы пытаетесь выполнить код следующего вида:
Как отобразить контекстное меню? [Рейтинг: 2334 Автор: Александр Шаргин] Прежде чем отображать контекстное меню, его необходимо загрузить из ресурсов приложения или создать его прямо на лету. Рассмотрим оба способа.
Почему при создании диалога отображаются только контролы, а сам диалог - нет? [Рейтинг: 2284 Автор: Игорь Вартанов] Обычно это случается при написании кода диалоговой процедуры на чистом Win API. Причина такого неприятного эффекта заключается в том, что ваша диалоговая процедура организована следующим образом:
Почему диалог не создаётся? [Рейтинг: 2105 Автор: Александр Шаргин] Допустим, вы вставили в программу вызов DialogBox (или похожей функции) и обнаружили, что диалог почему-то не создаётся. Что делать в такой ситуации? На этот вопрос я и постараюсь ответить.
Как реализовать диалог с фоновым изображением? [Рейтинг: 2242 Автор: Сергей Пиманов] Демонстрационный проект BkDlg
Как добавить иконку в заголовок диалогового окна? [Рейтинг: 2185 Автор: Игорь Вартанов] Чтобы добавить иконку, нужно каким-либо образом дать знать окну диалога об этом.
Как добавить горячие клавиши в модальный диалог? [Рейтинг: 2106 Автор: Александр Шаргин] Демонстрационный проект DlgAccelДемонстрационный проект MfcDlgAccel
Как добавить всплывающие подсказки для элементов управления диалога? [Рейтинг: 2306 Автор: Игорь Вартанов] Демонстрационный проект ToolTip
Message Box и немного фантазии [Рейтинг: 2572 Автор: Paul Bludov] В статье рассматриваются способы расширения функциональности стандартных окон сообщений, а также создания нестандартных.
Как сделать, чтобы окно не появлялось на панели задач? [Рейтинг: 2364 Автор: Александр Шаргин] Существует по крайней мере два способа решить эту задачу. Оба документированы в базе знаний Микрософт. Первый очень прост в реализации, но подходит не всегда. Второй более универсальный, а его реализация лишь немного труднее.
Как раскрыть окно во весь экран? [Рейтинг: 2324 Автор: Павел Блудов] Демонстрационное приложение FullscreenView (30kb)
Как разрешить перетаскивание окна за любую точку? [Рейтинг: 2314 Автор: Алексей Кирюшкин] Демонстрационное приложение DragWin
Как переместить окно на передний план? [Рейтинг: 2536 Автор: Александр Шаргин] Многие знают, что для перемещения окна на передний план существует функция SetForegroundWindow из Win32 API (в MFC ей соответствует обёртка CWnd::SetForegroundWindow). Она отлично работала под Windows 95 и Window NT. Но потом парни из Майкрософт провозгласили новый принцип: "Никто кроме пользователя...
Как задать минимальный и максимальный размер окна? [Рейтинг: 2343 Автор: Александр Шаргин] Когда пользователь изменяет размеры окна, Windows сама запрашивает у программы минимальный и максимальный размеры, посылая окну сообщение WM_GETMINMAXINFO. При этом впараметре lParam размещается указатель на структуру MINMAXINFO, в которую и следует записать нужные значения. Затем нужно вернуть 0. Р...
|
Совершить покупку |
|
|
|
|
|
|