12.05.2006
Автоматный интерфейс
|
|
Аннотация: Метод, представленный в статье, кардинально отличается от тех методов, которые применяются сейчас для создания логики пользовательского интерфейса. Он позволяет, в конечном счете, улучшить качество конечного интерфейса и его исходного кода, ускорить разработку и упростить поддержку. Метод основывается на подходе, активно пропагандируемом Анатолием Абрамовичем Шалыто и использует большую часть достоинств автоматного метода программирования.
Ключевые слова: UI |
Окна
|
Как задать минимальный и максимальный размер окна?
|
|
Аннотация: Когда пользователь изменяет размеры окна, Windows сама запрашивает у программы минимальный и максимальный размеры, посылая окну сообщение WM_GETMINMAXINFO. При этом в параметре lParam размещается указатель на структуру MINMAXINFO, в которую и следует записать нужные значения. Затем нужно вернуть 0. ...
Ключевые слова: |
Как переместить окно на передний план?
|
|
Аннотация: Многие знают, что для перемещения окна на передний план существует функция SetForegroundWindow из Win32 API (в MFC ей соответствует обёртка CWnd::SetForegroundWindow). Она отлично работала под Windows 95 и Window NT. Но потом парни из Майкрософт провозгласили новый принцип: "Никто кроме пользователя...
Ключевые слова: |
21.06.2004
Как сделать активным окно приложения из другой программы
|
|
Аннотация: <span class='lineQuote level3'>G>>>У меня под XP он работает нормально, какие тут могут быть грабли?</span><br />
<span class='lineQuote level2'>IP>>Это работает в редкой половине случаев, проверено на большой практичке. часто приложение становится foreground, но его окно продолжает находиться за другими. лучше всего работает вариант с SC_HOTKEY</span><br />
<span class='lineQuote level1'>А>Что за вариант ?</span><br />
<br />
[cc...
Ключевые слова: |
Как разрешить перетаскивание окна за любую точку?
|
|
Аннотация: Демонстрационное приложение DragWin
Ключевые слова: |
Как раскрыть окно во весь экран?
|
|
Аннотация: Демонстрационное приложение FullscreenView (30kb)
Ключевые слова: |
02.08.2004
Как свернуть все окна приложений на рабочем столе
|
|
Аннотация: <span class='lineQuote level1'>А>у меня в программе должна быть реализована функция "свернуть все окна".</span><br />
<br />
<pre class='c'><code> HWND wnd = ::FindWindow( <span class='str'>"Shell_TrayWnd"</span>, NULL );
<span class='kw'>if</span> ( wnd != NULL )
::SendMessage( wnd, WM_COMMAND, 0x019f, 0 ); <span class='com'>//Свернуть все окна</span></code></pre>
Ключевые слова: |
02.08.2004
Свернуть все окна приложений на рабочем столе
|
|
Аннотация: Вариантов конечно много, но, есть таки и "легальный" способ...<br />
На C++ это будет выглядеть так:<br />
<br />
[ccode]<br />
#include <windows.h><br />
#include <shldisp.h> // ole32.lib uuid.lib<br />
<br />
BOOL SHMinimizeAll(BOOL fUndo) {<br />
<br />
LONG lRes = -1, lNCo = CoInitialize(NULL);<br />
<br />
if(lNCo == S_OK || lNCo == S_FALSE)<br />
{<br />
I...
Ключевые слова: |
21.06.2001
Как сделать, чтобы окно не появлялось на панели задач?
|
|
Аннотация: Существует по крайней мере два способа решить эту задачу. Оба документированы в базе знаний Микрософт. Первый очень прост в реализации, но подходит не всегда. Второй более универсальный, а его реализация лишь немного труднее.
Ключевые слова: |
14.01.2002
Как убрать иконку окна с task bar'а
|
|
Аннотация: Здравствуйте Долгов Сергей Сергеевич.<br />
<br />
Приведенный ниже код скрывает/показывает первый попавшийся Notepad (т.е. можно скрывать любое окно... даже не свое).<br />
<br />
[ccode]<br />
HWND hWnd = ::FindWindow(_T("Notepad"), NULL);<br />
if(!hWnd)<br />
return;<br />
// Если окно уже имеет парента...<br />
if(::GetWindowLong(hWnd, G...
Ключевые слова: |
06.10.2003
Кнопка на TaskBar в рантайм
|
|
Аннотация: // #include <ShlObj.h > из PSDK 2001<br />
// Удаление с панели<br />
<br />
[ccode]<br />
CoInitialize(NULL);<br />
ITaskbarList *pTaskBar = 0;<br />
HRESULT hr = CoCreateInstance(CLSID_TaskbarList, 0, CLSCTX_ALL, IID_ITaskbarList, (void**)&pTaskBar);<br />
if(SUCCEEDED(hr))<br />
{<br />
pTaskBar->DeleteTab(m_hWnd);<br />
pTaskB...
Ключевые слова: |
01.02.2004
Как проверить, есть ли у приложения кнопка на TaskBar
|
|
Аннотация: Здравствуйте, Аноним, Вы писали:<br />
<span class='lineQuote level1'><br />
А>Как проверить, показывается ли у приложения кнопка на TaskBar?</span><br />
<br />
[pascal]<br />
function IsTaskbarBtnExist(h: HWND): Boolean;<br />
var<br />
exstyle: Longint;<br />
begin<br />
Result:= IsWindowVisible(h);<br />
if Result then<br />
begin<br />
exstyle := GetWindowLong(h, GWL_EXSTYLE...
Ключевые слова: |
07.12.2005
Иконка окна по HWND
|
|
Аннотация: Здравствуйте, Vis, Вы писали:<br />
<span class='lineQuote level1'><br />
Vis>Можно ли имея HWND извлечь иконку окна, причем:</span><br />
<span class='lineQuote level1'><br />
Vis>1) HWND принадлежит другому процессу.</span><br />
<span class='lineQuote level1'>Vis>2) Окно имеет captionbar c иконкой, видимой визуально.</span><br />
<span class='lineQuote level1'><br />
<br />
Vis>Почему то WM_GETICON не работает. </span><br />
<span class='lineQuote level1'>Vis>Может у него какие-то ограничения на окна из другого процесса...</span>
Ключевые слова: |
19.12.2006
Окна Windows
|
|
Аннотация: В свое время, когда я только начинал осваивать хитрости программирования под Windows, мне пришла в голову мысль, что хорошо было бы создать учебную программу для экспериментирования с многочисленными параметрами используемых функций – чтобы не надо было каждый раз редактировать и компилировать заново исходный код «учебного» проекта, а можно было бы выбрать необходимые опции прямо в диалоговом окне и тут же увидеть результат. И через некоторое время я ее действительно создал.
Ключевые слова: |
08.12.2004
Почему ShowCursor не работает в потоках
|
|
Аннотация: <span class='lineQuote level1'>A>Почему ShowCursor не работает в потоках?</span><br />
<br />
Потому что курсор мыши является частью input state, и по умолчанию для каждого потока — разный. ShowCursor на самом деле работает, только эффект будет видет тогда, когда курсор находится над окном, которым владеет поток, вызвавший SetCursor.<br />
<span class='lineQuote level1'><br />
А>и как э...</span>
Ключевые слова: |
28.05.2003
Работа с регионами Windows GDI. Создание непрямоугольных окон.
|
|
Аннотация: В статье рассматривается создание непрямоугольных окон с применением регионов Windows GDI. Помимо непосредственного описания создания непрямоугольных окон, описано использование функций WinAPI для работы с регионами, а также соответствующих им методов класса CRgn библиотеки MFC.
Ключевые слова: GetRegionData, ExtCreateRegion, CreateFromData, CreatePolygonRgn, CombineRgn, SetWindowRgn, GetWindowRgn, CreateEllipticRgnIndirect, OffsetRgn, XFORM |
Диалоги
|
11.06.2006
Диалоговые окна
|
|
Аннотация: Глава из книги “OpenGL и DirectX: программирование графики”
Ключевые слова: dialog |
29.05.2003
Message Box и немного фантазии
|
|
Аннотация: В статье рассматриваются способы расширения функциональности стандартных окон сообщений, а также создания нестандартных.
Ключевые слова: MessageBox |
Как добавить всплывающие подсказки для элементов управления диалога?
|
|
Аннотация: Демонстрационный проект ToolTip
Ключевые слова: |
21.06.2001
Как добавить горячие клавиши в модальный диалог?
|
|
Аннотация: Демонстрационный проект DlgAccel
Демонстрационный проект MfcDlgAccel
Ключевые слова: |
Как добавить иконку в заголовок диалогового окна?
|
|
Аннотация: Чтобы добавить иконку, нужно каким-либо образом дать знать окну диалога об этом.
Ключевые слова: |
21.11.2001
Application icon
|
|
Аннотация: <span class='lineQuote level1'>LB>Не понимаю, почему когда создаю Dialog Based Application, в title bar'е отображается иконка, которая 32х32, а хотелось бы видеть 16х16. Мелочь, а неприятно. Тем более, что в SDI все нормально. </span><br />
<br />
Это какой-то глюк в Windows, надо убрать один вызов SetIcon:<br />
<br />
[ccode]<br />
SetIcon(m_hIcon, TRUE); ...
Ключевые слова: |
10.06.2001
Как реализовать диалог с фоновым изображением?
|
|
Аннотация: Демонстрационный проект BkDlg
Ключевые слова: |
27.08.2001
Почему диалог не создаётся?
|
|
Аннотация: Допустим, вы вставили в программу вызов DialogBox (или похожей функции) и обнаружили, что диалог почему-то не создаётся. Что делать в такой ситуации? На этот вопрос я и постараюсь ответить.
Ключевые слова: |
Почему при создании диалога отображаются только контролы, а сам диалог - нет?
|
|
Аннотация: Обычно это случается при написании кода диалоговой процедуры на чистом Win API. Причина такого неприятного эффекта заключается в том, что ваша диалоговая процедура организована следующим образом:
Ключевые слова: |
Стандартные диалоги
|
10.11.2002
CIconDialog – Расширяем MFC
|
|
Аннотация: Демонстрационная программа – 12KbДемонстрационный проект – 26KbТолько исходные файлы класса – 3Kb
Ключевые слова: icon selection dialog, CIconDialog, SelectIcon, Armen, Hakobyan |
Как выдать окно выбора каталога?
|
|
Аннотация:
Windows Shell API включает функцию SHBrowseForFolder,
которая отображает стандартный диалог, с помощью которого пользователь может
выбрать нужный каталог. На самом деле, выбрать можно не только каталог,
а любой объект Shell namespace, в том числе принтеры и компьютеры.
Ниже приведён пример испо...
Ключевые слова: |
29.11.2003
Как изменить содержимое панели Places в диалоге Open File
|
|
Аннотация: <span class='lineQuote level1'>E>В explorer-style диалоге открываемом через GetOpenFileName слева есть панель, на которой отображается пять ярлыков: History, Desktop, My Documents и т.д.</span><br />
<span class='lineQuote level1'>E>Можно ли каким-нибудь удобным способом (желательно не перекрывая стандартную процедуру окна) затащить туда свой собственный ярлык?</span><br />
<br />
это наб...
Ключевые слова: |
30.05.2001
_WIN32_WINNT 0x0500 и CFileDialog
|
|
Аннотация: Здравствуйте Чайков Юрий Александрович, вы писали:<br />
<span class='lineQuote level1'><br />
ЧЮА>В stdafx.h стоит строчка:</span><br />
<span class='lineQuote level1'>ЧЮА>#define _WIN32_WINNT 0x0500</span><br />
<span class='lineQuote level1'>ЧЮА>(это нужно, чтобы делать прозрачность для окошек)</span><br />
<span class='lineQuote level1'><br />
ЧЮА>В некотором месте программы создается объект класса CFileDialog:</span><br />
<span class='lineQuote level1'>ЧЮА>.void CErrorDlg::OnButton1() </span><br />
<span class='lineQuote level1'>ЧЮА>.{</span><br />
<span class='lineQuote level1'>ЧЮА>. CFileD...</span>
Ключевые слова: |
Многоязычные приложения
|
23.10.2004
Динамическое переключение языка интерфейса в MFC-приложениях
|
|
Аннотация: Статья рассказывает о реализации механизма переключения языка пользовательского интерфейса в приложениях, разрабатываемых с использованием библиотеки MFC.
Ключевые слова: |
01.10.2004
Компонент для перевода интерфейса - версия 1.0а
|
|
Аннотация: В общем, под это дело можно и отдельный топик. Итак: новая версия компонента. Полного автоматизма нет, и, как я решил, не будет. Но не пугайтесь, все стало еще проще <img border='0' width='15' height='15' src='../Forum/images/wink.gif' /> В архиве содержится пакадж с компонентом, который надо установить перед открытием тестового проекта (если вы захотите поиграть с пр...
Ключевые слова: |
17.12.2006
Локализация
|
|
Аннотация: Глава из книги "C# 2005 для профессионалов".
Эта глава посвящена глобализации и локализации приложений .NET. Точнее говоря, здесь обсуждаются следующие темы:
- Применение классов, представляющих культуры и регионы
- Интернационализация приложений
- Локализация приложений
Материал предоставлен издательством "Вильямс".
Ключевые слова: .NET, .NET 2.0, Windows Forms, Web Forms, Visual Studio .NET, C# 2005, разработка приложений для .NET, локализация |
07.10.2005
Локализация приложений
|
|
Аннотация: В статье рассмотрены возможности по применению инструментальных средств для локализации приложений на примере использования Lingobit Localizer. Описаны проблемы возникающие на разных этапах перевода программ и предложены пути их решения. Показаны преимущества использования инструментальных средств над ручной локализацией.
Ключевые слова: software localization, localization, локализация приложений, multilingual, многоязычный, перевод, translation |
07.10.2006
Простой путь к созданию многоязычных приложений
|
|
Аннотация: В данной статье рассматривается один из подходов к созданию многоязычных приложений при использовании отдельных языковых библиотек (resource-only/satellite dll). Описаны способы их создания и подключения к основному приложению. Кроме этого, предложена миниатюрная библиотека для выбора языка прямо из пользовательского интерфейса.
Ключевые слова: Lingobit |
Создание локализованных приложений
|
|
Аннотация: Многие разработчики мечтают о всемирной популярности своих приложений, но почти никто не создает локализованных версий своих приложений, ошибочно полагая, что программа должна сначала завоевать популярность.
Ключевые слова: |
Рекомендации по дизайну
|
22.08.2004
Дизайн приложений
|
|
Аннотация: Статья содержит рекомендации по созданию пользовательского интерфейса, являющиеся рзультатом авторского осмысления рекомендаций от Microsoft.
Ключевые слова: |
18.07.2005
Индуктивный пользовательский интерфейс
|
|
Аннотация: Эта статья описывает новую модель пользовательского интерфейса, названную «индуктивный пользовательский интерфейс» (inductive user interface, IUI). Называемая также «индуктивной навигацией», IUI-модель показывает, как сделать прикладные программы более простыми, разбивая функциональность на экраны или страницы, которые проще как описывать, так и понимать. IUI-модель проявляется в разнообразных проектах Майкрософт, наиболее заметно — в Microsoft Money 2000. Данная статья является скорее введением в IUI, чем утвержденным и всесторонним набором рекомендаций и правил.
Ключевые слова: inductive user interface, индуктивный пользовательский интерфейс, юзабилити, IUI |
04.04.2005
Многоточия в наименованиях команд
|
|
Аннотация: Здравствуйте, Зверёк Харьковский, Вы писали:<br />
<span class='lineQuote level2'><br />
Doc>>Это в том случае если диалог производит некое действие (Print ...).</span><br />
<span class='lineQuote level2'>Doc>>Обратные примеры: Properties, About — открывают диалоги просто отображающие некую информацию.</span><br />
<span class='lineQuote level1'><br />
ЗХ>На мой вкус, троеточие — символизирует "ты не сразу сделаешь, что хочешь...</span>
Ключевые слова: |
11.01.2005
Основные правила работы с цветом для программистов
|
|
Аннотация: Здравствуйте, Воронков Василий, Вы писали:<br />
<span class='lineQuote level1'><br />
ВВ>Где можно найти какие-нибудь грамотные материалы по веб-дизайну? Основной интерес — подбор цветовой палитры. Т.е. вот например решено что сайт должен быть в синих тонах — как подробрать цвета для всего остального, оттенки там, какие другие цвета хорош...</span>
Ключевые слова: |
29.06.2006
Стандарты UI
|
|
Аннотация: <a class="m" href="http://www.oracle.com/technology/tech/blaf/specs/index.html#topoftoc" target="_blank">http://www.oracle.com/technology/tech/blaf/specs/index.html#topoftoc</a><br />
<br />
<a class="m" href="http://www.att.com/style/" target="_blank">http://www.att.com/style/</a><br />
<br />
<a class="m" href="http://www.ge.com/brand/design_library/04_interactive/01_web/" target="_blank">http://www.ge.com/brand/design_library/04_interactive/01_web/</a><br />
<br />
<a class="m" href="http://usability.gov/guidelines/index.html" target="_blank">http://usability.gov/guidelines/index.html</a><br />
<br />
<a class="m" href="http://www.webstyleguide.com/index.html?/contents.html" target="_blank">http://www.webstyleguide.com/index.html?/contents.html</a><br />
<br />
<a class="microsoft m" href="http://msdn.microsoft.com/libr" target="_blank">http://msdn.microsoft.com/libr</a>...
Ключевые слова: |
29.11.2005
Юзабилити - ссылки
|
|
Аннотация: Возможно, и даже вероятно, кому-то этот список окажется полезным — мои букмарки под заголовком "Юзабилити". Не претендую на полноту, существенные дополнения — только приветствуются.<br />
<br />
<b>Блоги, форумы итд.</b><br />
<li />[url=<a class="livejournal m" href="http://www.livejournal.com/community/ru_ucdesign/" target="_blank">http://www.livejournal.com/community/ru_ucdesign/</a>]LJ ru_ucdesign — User Centered...
Ключевые слова: |
29.11.2005
Юзабилити - ссылки
|
|
Аннотация: Здравствуйте, nzeemin, Вы писали:<br />
<br />
Вот еще:<br />
<br />
Говорит автор Оффис 12 UI:<br />
<br />
<a class="m" href="http://blogs.msdn.com/jensenh/default.aspx" target="_blank">Jensen Harris: An Office User Interface Blog</a><br />
<br />
<br />
<b>Posts about the Ribbon and how it works:</b><br />
[url=<a class="m" href="http://blogs.msdn.com/jensenh/archive/2005/09/14/467126.aspx" target="_blank">http://blogs.msdn.com/jensenh/archive/2005/09/14/467126.aspx</a>]...
Ключевые слова: |
Консольные приложения
|
Почему вместо русских букв в консольном приложении выводится мусор?
|
|
Аннотация: Итак, Вы сваяли в Visual Studio что-то типа
Ключевые слова: |
30.04.2001
Как получить хэндл окна консольного приложения?
|
|
Аннотация: Нечасто, но иногда все же бывает необходимо получить хэндл окна консольного
приложения. Windows API не предусматривает никакой специальной функции для
выполнения этой задачи, однако для её решения можно найти обходные пути.
Ключевые слова: |
18.11.2003
Как переключить консольное приложение в полноэкранный режим
|
|
Аннотация: Есть недодокумментированная функция SetConsoleDisplayMode.<br />
Подробности тут:<br />
<br />
<a class="m" href="http://www.google.com.ru/search?q=SetConsoleDisplayMode" target="_blank">http://www.google.com.ru/search?q=SetConsoleDisplayMode</a><br />
<br />
Павел.
Ключевые слова: |
05.08.2003
Console и maximize
|
|
Аннотация: <span class='lineQuote level1'>_>Народ!</span><br />
<span class='lineQuote level1'>_>Расскажите мне такому как окно консоли развернуть на весь экран (не в смысле alt+enter а maximize, средняя кномпочка в правом верхнем углу окна).</span><br />
<span class='lineQuote level1'>H>msdn: The specified width and height cannot be less than the width and height of the console screen buffer's window.</span><br />
<span class='lineQuote level1'><br />
H>[msdn]SetConsole...</span>
Ключевые слова: |
15.01.2003
Корректное завершение консольного приложения
|
|
Аннотация: <span class='lineQuote level2'>A>>Может ли консольное приложение отследить нажатие на кнопку закрытия окна, в котором оно выполняется, и само корректно после этого завершиться?</span><br />
<span class='lineQuote level1'>B>Смотри в MSDN функцию signal</span><br />
<br />
А лучше CTRL_CLOSE_EVENT & <a target='_blank' class='m' href='http://search.microsoft.com/ru-RU/results.aspx?q=SetConsoleCtrlHandler'>SetConsoleCtrlHandler</a>
Ключевые слова: |
Устройства ввода
|
11.07.2001
Как узнать, что мышь вышла за пределы окна?
|
|
Аннотация: При создании пользовательского интерфейса иногда требуется определить момент, когда курсор мыши выходит за пределы окна. Для решения этой задачи существуют различные методы. Можно воспользоваться готовой функцией TrackMouseEvent, которая появилась в Win32 API, начиная с Windows 98/NT4, или же эквива...
Ключевые слова: |
18.04.2004
Управление прогой
|
|
Аннотация: <span class='lineQuote level1'>J>Как программно находить окно поимени , заполнять textboxы и нажимать на нужные баттоны?</span><br />
<br />
MSDN Magazine, Русская редакция, спец. выпуск N2<br />
<a class="microsoft m" href="http://www.microsoft.com/rus/msdn/magazine/archive/special_2/debugging.asp" target="_blank">http://www.microsoft.com/rus/msdn/magazine/archive/special_2/debugging.asp</a><br />
Утилита Tester, дубль 3: запись и воспроизведение операций с мышью<br />
Джон Роббинс<br />
...
Ключевые слова: |
27.08.2005
Непосредственная работа с клавиатурой
|
|
Аннотация: Каждый знает, что такое клавиатура и для чего она предназначена, но далеко не все знают, что и как происходит при нажатии той или иной клавиши.
В этой статье я объясню некоторую низкоуровневую часть её функционирования и приведу пример реализации простого обработчика клавиатурного прерывания для реального режима (драйвер).
Ключевые слова: keyboard |
25.04.2001
Хуки и DLL
|
|
Аннотация: Статья посвящена реализации глобальных хуков. В ней рассматриваются типичные проблемы, связанные
с различием виртуальных адресов перехватывающей DLL в адресных пространствах различных процессов, описывается
способ создания разделяемого сегмента данных, приводится пример DLL, реализующей глобальный хук.
Ключевые слова: |
Элементы управления
|
Кнопки
|
10.12.2001
Как сделать нестандартную кнопку на основе битмапа?
|
|
Аннотация: Демонстрационный проект bmpbtn (33.1KB)
Ключевые слова: |
01.05.2005
Как сгрупировать radio button на диалоге?
|
|
Аннотация: Здравствуйте, <Аноним>, Вы писали:<br />
<span class='lineQuote level1'><br />
А>На диалоги есть несколько групп radio button, как указать к какой группе какая относится?</span><br />
<br />
Надо расставить их по-порядку в Tab Order (Ctrl-D при редактировании ресурса диалога). Назначаешь самому первому свойство Group = True, дальше в порядке Tab Order идет...
Ключевые слова: |
Комбинированные списки
|
Почему не появляется выпадающий список?
|
|
Аннотация: Такой эффект имеет место при неправильном заданиии высоты контрола combo box. В этом случае вместо выпадающего списка под полем ввода отрисовывается утолщенная линия. Проблема может быть решена увеличением высоты контрола, как программым способом, так и редактированием ресурс-скрипта диалога на этап...
Ключевые слова: |
Как программно изменить высоту выпадающего списка?
|
|
Аннотация: Поскольку высота списка combobox-контрола определяется высотой самого контрола, то для ее изменения необходимо изменить высоту контрола любым доступным способом.
Ключевые слова: |
Как получить текст, введенный в поле ввода combo box'а?
|
|
Аннотация: Необходимо получить текст окна контрола любым доступным способом.
Ключевые слова: |
Меню
|
25.06.2001
Как отобразить контекстное меню?
|
|
Аннотация: Прежде чем отображать контекстное меню, его необходимо загрузить из ресурсов приложения или создать его прямо на лету. Рассмотрим оба способа.
Ключевые слова: |
22.06.2001
Почему вместо нормального контекстного меню появляется узкая полоска?
|
|
Аннотация: Обычно такая проблема возникает, когда вы пытаетесь выполнить код следующего вида:
Ключевые слова: |
Поля ввода
|
17.07.2001
Как вставить в edit box многострочный текст?
|
|
Аннотация: Для того, чтобы окно редактирования могло отобразить многострочный текст, сам контрол должен иметь стиль ES_MULTILINE, и текст в окне должен разделяться на строки цепочками символов \r\n. Чтобы разбивать текст на строки во время ввода с клавиатуры (нажатием Enter), необходимо добавить окну редактиро...
Ключевые слова: |
17.07.2001
Как изменить стандартные цвета edit box'а?
|
|
Аннотация: Демонстрационный проект EditClr
Ключевые слова: |
17.07.2001
Как изменить текст в edit box'е?
|
|
Аннотация: Поскольку edit box является окном, то для изменения текста в нем вполне подойдет функция SetWindowText() (либо SetDlgItemText(), что, в сущности, дела не меняет). В этом случае произойдет полная замена текста в окне.
Ключевые слова: |
04.02.2002
Как обработать нажатие Enter в edit box'е?
|
|
Аннотация: Начнем с того, что для обработки нажатия Enter необходимо, чтобы (в общем случае) окно редактирования ожидало этого нажатия (т.е. имело стиль ES_MULTILINE). В противном случае система выполнит трансляцию этого нажатия в нажатие кнопки родительского окна, имеющей в текущий момент стиль BS_DEFAULTPUSH...
Ключевые слова: |
27.07.2004
Как контрол CEdit с параметром multiline заставить...
|
|
Аннотация: <span class='lineQuote level1'>VT>автоматически переносить строки?</span><br />
<br />
Убрать стиль ES_AUTOHSCROLL?
Ключевые слова: |
17.07.2001
Почему edit box не реагирует на Enter?
|
|
Аннотация: Очевидно, установлен неподходящий стиль окна редактирования. Стандартное однострочное окно игнорирует ввод Enter. Это сообщение будет транслировано системой в нажатие текущей "кнопки по-умолчанию" в родительском окне. Чтобы окно ввода начало реагировать на нажатие Enter, оно должно иметь стили ES_MU...
Ключевые слова: |
Строки состояния
|
25.06.2001
Как отобразить индикатор прогресса на строке состояния?
|
|
Аннотация: Чтобы решить эту задачу, достаточно вспомнить, что строка состояния - это самое обыкновенное окно, на котором можно создавать дочерние окна. В данном случае нам потребуется создать контрол типа progress bar, задав для него стиль WS_CHILD и строку состояния в качестве родительского окна. Когда индика...
Ключевые слова: |
Тултипы
|
11.05.2001
Исчерпывающее руководство по написанию всплывающих подсказок
|
|
Аннотация:
Автор подробно рассматривает всевозможные виды подсказок и их реализацию, включая поддержку
подсказок классами библиотеки MFC, добавление подсказок к элементам Web-страниц, реализацию
подсказок "вручную" и другое.
Ключевые слова: |
Как изменить цвет текста и фона тултипа?
|
|
Аннотация: Для этой цели предусмотрены специальные сообщения TTM_SETTIPTEXTCOLOR и TTM_SETTIPBKCOLOR. После того как тултип создан, их можно отправлять с использованием функции SendMessage. При этом в wParam записывается новое значение цвета, а содержимое lParam игнорируется. Рассмотрим пример, в котором для т...
Ключевые слова: |
Как создать не исчезающий со временем тултип?
|
|
Аннотация: Первое, что приходит в голову в связи с этим вопросом - это сообщение TTM_SETDELAYTIME. Оно предназначено для задания различных временных интервалов, связанных с тултипом. В частности интервал, задаваемый флагом TTDT_AUTOPOP, определяет промежуток времени, по истечении которого тултип исчезает автом...
Ключевые слова: |
Как создать многострочный тултип?
|
|
Аннотация: Начиная с версии 4.70 библиотеки Comctl32.dll тултипы поддерживают многострочный режим работы. По умолчанию он выключен, и всё, что требуется от нас - активизировать его. Для этого предназначено сообщение TTM_SETMAXTIPWIDTH, которое позволяет задать ширину тултипа (в пикселях). По умолчанию ширина у...
Ключевые слова: |
22.06.2006
Многострочный tooltip
|
|
Аннотация: Здравствуйте, Sinatr, Вы писали:<br />
<span class='lineQuote level4'><br />
Mag>>>>Реально ли сделать многострочный tooltip?</span><br />
<span class='lineQuote level3'>M>>>вставь в него символ новой строки</span><br />
<span class='lineQuote level2'>Mag>>И какой же? \n, \n\r, \r\n — не работают. <img border='0' width='15' height='15' src='../Forum/images/frown.gif' /></span><br />
<span class='lineQuote level1'><br />
S>Это они в designer'е не работают, а в run-time на ура:</span><br />
<span class='lineQuote level1'>S>[c#]</span><br />
<span class='lineQuote level1'>S>toolTip1.SetToolTip(button1, "Первая строка\nВторая ст...</span>
Ключевые слова: |
09.07.2006
Как в тултипе у казать перенос строки?
|
|
Аннотация: Здравствуйте, Аноним, Вы писали:<br />
<span class='lineQuote level1'><br />
А>У меня на некоторых компонентах title довольно большой и хотелось бы его отформатировать в несколько строк</span><br />
<span class='lineQuote level1'>А>Пытаюсь сделать перенос при помощи \n — так этот "\n" типа так и отображается</span><br />
<br />
& #13; без пробела после &
Ключевые слова: |
Как добавить всплывающие подсказки для элементов управления диалога?
|
|
Аннотация: Демонстрационный проект ToolTip
Ключевые слова: |
02.02.2006
Как добавить всплывающие подсказки в диалог WTL
|
|
Аннотация: Здравствуйте, Игорь Вартанов, Александр Шаргин, Вы писали:<br />
<span class='lineQuote level1'><br />
ИВА><b>Статья:</b> </span><br />
<span class='lineQuote level1'>ИВА><a class=" tips m" href="https://rsdn.org/article/?229" rel="#TQhCyL" title="Как добавить всплывающие подсказки для элементов управления диалога?">Как добавить всплывающие подсказки для элементов управления диалога?<div class="tooltip" id="TQhCyL">Автор(ы): Игорь Вартанов, Александр Шаргин<br /></div></a></span><br />
<br />
до кучи к WinAPI и MFC — как то же самое делается в WTL:<br />
<br />
<li /> добавляем в данные диалога CTool...
Ключевые слова: |
15.07.2005
Editbox с Auto Complete
|
|
Аннотация: <span class='lineQuote level2'>P>>Не подскажете где икать информацию по реализации сабжа,</span><br />
<span class='lineQuote level2'>P>>под сабжем подразумеваю следующее:</span><br />
<span class='lineQuote level2'>P>> И как он правильно называется. <img border='0' width='15' height='15' src='../Forum/images/smile.gif' /> </span><br />
<span class='lineQuote level1'><br />
A>Называется это Auto Complete. Начать поиск можно с функции SHAutoComplete и интерфейса IAutoComplete.</span><br />
<br />
SHAutoComplete — самый простой способ, но он позволя...
Ключевые слова: |
25.08.2004
Итого2: WTL: Подсказка в любом месте экрана
|
|
Аннотация: Еще несколько маленьких доработок:<br />
<br />
[ccode]<br />
namespace UI2<br />
{<br />
class Tooltip<br />
: public CWindowImpl<Tooltip, ATL::CWindow><br />
{<br />
public:<br />
typedef CWindowImpl<Tooltip, ATL::CWindow> baseClass;<br />
typedef Tooltip thisClass;<br />
<br />
HWND m_hWndOwner;<br />
<br />
private:<br />
TOOLINFO m_ToolInfo;<br />
bool ...
Ключевые слова: |
HotKeyCtrl
|
28.10.2004
Как использовать в своей программе "горячие клавиши"
|
|
Аннотация: Как использовать в своей программе "горячие клавиши"? Какой обработчик вызывать и что вписывать в карту сообщений?
Ключевые слова: HotKey |
05.08.2004
Элемент управления WinHotkeyCtrl
|
|
Аннотация: WinHotkeyCtrl – элемент управления, предназначенный для задания и управления «горячими клавишами» (hotkey`s). В отличие от стандартного элемента управления Windows (HotKeyCtrl), WinHotkeyCtrl обладает рядом преимуществ:
[+] разрешены комбинации с клавишей-модификатором Win;
[+] поддержка мултимедийных клавиш (Microsoft-совместимых);
[+] перегрузка практически любой системной комбинации клавиш, кроме Ctrl+Alt+Del;
[+] расширенное контекстное меню.
WinHotkeyCtrl строится на базе стандартного элемента управления EditCtrl методом сабклассирования (subclassing), что обеспечивает удобство и легкость его использования с шаблонами окон диалогов.
С помощью директив препроцессора в одном исходном файле реализованы 2 версии WinHotkeyCtrl: для Windows 98/NT и для Windows 2000 (и выше).
Ключевые слова: hotkey, WinHotkeyCtrl |
03.06.2004
Как получить текст горячей клавиши?
|
|
Аннотация: Здравствуйте, Carc, Вы писали:<br />
<span class='lineQuote level1'><br />
C>Как получить текст горячей клавиши?</span><br />
<span class='lineQuote level1'>C>Т.е. я юзую какую нить к примеру Ctrl+A у себя в приложении, причем есессно клавиша может меняться пользователем, как мне получить текст который отображать в меню (типа какой нить "Ctrl+A"), пробовал тот же GetKeyName но что ...</span>
Ключевые слова: |
Image List
|
Как получить системный ImageList?
|
|
Аннотация:
Ключевые слова: |
List View
|
10.09.2001
Использование ListView в режиме виртуального списка
|
|
Аннотация:
Демонстрационная программа - 161 KB
Исходные тексты - 39 KB
Ключевые слова: |
21.11.2006
Выравнивание отличное от LVCFMT_LEFT в 0-й колонке ListView
|
|
Аннотация: Здравствуйте, UNI_X, Вы писали:<br />
<span class='lineQuote level1'><br />
UNI>...на этапе создания ListView, вернее когда он уже создан, и создаются столбцы, я указываю им стиль выравнивания текста: <i>LVCFMT_CENTER</i> Но первый столбец всегда игнорирует этот стиль, там текст всегда по левому краю идет. MSDN по этому поводу пишет:</span><br />
<br />
[q...
Ключевые слова: |
16.10.2002
Можно ли по-своему отрисовывать строки ListView?
|
|
Аннотация: <span class='lineQuote level1'>BS>Привет всем!</span><br />
<span class='lineQuote level1'>BS>Есть стандартный ListView со стилями LVS_EX_GRIDLINES и LVS_REPORT (эмуляция Grid-a). Хочется сделать "зебру" — чередующиеся белые и серые полосы. Или выделять некоторые строки иным цветом (красным, если это что-то критическое), в зависимости от значения строки.</span><br />
<span class='lineQuote level1'><br />
BS>Можно ли эт...</span>
Ключевые слова: |
31.01.2004
ListView - как выделить строки цветом
|
|
Аннотация: <span class='lineQuote level1'>L>Имеется ListView. Мне нужно выделить строки цветом (неважно, фон или текст) в зависимости от определенных параметров. <b>Проект не под MFC</b>.</span><br />
<span class='lineQuote level2'><br />
>> что ты раскричался? ведь все в МСДН есть. что-то в таком духе:</span><br />
<br />
[ccode]<br />
<span class='lineQuote level2'>>> case CDDS_PREPAINT:</span><br />
<span class='lineQuote level2'>>> * pResult = CDDF_NOTIFYITEMDRAW;</span><br />
<span class='lineQuote level2'>>> break...</span>
Ключевые слова: |
17.01.2005
ListView - как определить subitem при обработке щелчка мышью
|
|
Аннотация: Здравствуйте, DreamWeaver, Вы писали:<br />
<span class='lineQuote level1'><br />
DW> Мне нужно обрабатывать щелчек мыши на определенной ячейки в ListView. Строку определить просто, а вот для определения столбца </span><br />
<br />
поставь обработчик на NM_CLICK, NM_RCLICK или NM_DBLCLK, смотря что тебе надо, в уведомлении тебе придет [b]NMHDR * pNMHDR[...
Ключевые слова: |
Progress Bar
|
25.06.2001
Как отобразить индикатор прогресса на строке состояния?
|
|
Аннотация: Чтобы решить эту задачу, достаточно вспомнить, что строка состояния - это самое обыкновенное окно, на котором можно создавать дочерние окна. В данном случае нам потребуется создать контрол типа progress bar, задав для него стиль WS_CHILD и строку состояния в качестве родительского окна. Когда индика...
Ключевые слова: |