English version

RSS

Интерфейс пользователя

Автор: Александр Бабаев
Источник: RSDN Magazine #5-2005
Аннотация: Метод, представленный в статье, кардинально отличается от тех методов, которые применяются сейчас для создания логики пользовательского интерфейса. Он позволяет, в конечном счете, улучшить качество конечного интерфейса и его исходного кода, ускорить разработку и упростить поддержку. Метод основывается на подходе, активно пропагандируемом Анатолием Абрамовичем Шалыто и использует большую часть достоинств автоматного метода программирования.

Ключевые слова: UI

Окна

Автор: Александр Шаргин
Аннотация: Когда пользователь изменяет размеры окна, Windows сама запрашивает у программы минимальный и максимальный размеры, посылая окну сообщение WM_GETMINMAXINFO. При этом в параметре lParam размещается указатель на структуру MINMAXINFO, в которую и следует записать нужные значения. Затем нужно вернуть 0. ...

Ключевые слова:
Автор: Александр Шаргин
Аннотация: Многие знают, что для перемещения окна на передний план существует функция SetForegroundWindow из Win32 API (в MFC ей соответствует обёртка CWnd::SetForegroundWindow). Она отлично работала под Windows 95 и Window NT. Но потом парни из Майкрософт провозгласили новый принцип: "Никто кроме пользователя...

Ключевые слова:
Автор: IPv6
Аннотация: <span class='lineQuote level3'>G&gt;&gt;&gt;У меня под XP он работает нормально, какие тут могут быть грабли?</span><br /> <span class='lineQuote level2'>IP&gt;&gt;Это работает в редкой половине случаев, проверено на большой практичке. часто приложение становится foreground, но его окно продолжает находиться за другими. лучше всего работает вариант с SC_HOTKEY</span><br /> <span class='lineQuote level1'>А&gt;Что за вариант ?</span><br /> <br /> [cc...

Ключевые слова:
Автор: Алексей Кирюшкин
Аннотация: Демонстрационное приложение DragWin

Ключевые слова:
Автор: Павел Блудов
Аннотация: Демонстрационное приложение FullscreenView (30kb)

Ключевые слова:
Автор: Burd
Аннотация: <span class='lineQuote level1'>А&gt;у меня в программе должна быть реализована функция "свернуть все окна".</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>

Ключевые слова:
Автор: aGrey
Аннотация: Вариантов конечно много, но, есть таки и "легальный" способ...<br /> На C++ это будет выглядеть так:<br /> <br /> [ccode]<br /> #include &lt;windows.h&gt;<br /> #include &lt;shldisp.h&gt; // 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...

Ключевые слова:
Автор: Александр Шаргин
Аннотация: Существует по крайней мере два способа решить эту задачу. Оба документированы в базе знаний Микрософт. Первый очень прост в реализации, но подходит не всегда. Второй более универсальный, а его реализация лишь немного труднее.

Ключевые слова:
Автор: VladD2
Аннотация: Здравствуйте Долгов Сергей Сергеевич.<br /> <br /> Приведенный ниже код скрывает/показывает первый попавшийся Notepad (т.е. можно скрывать любое окно... даже не свое).<br /> <br /> [ccode]<br /> HWND hWnd = ::FindWindow(_T("Notepad"), NULL);<br /> if(!hWnd)<br /> return;<br /> // Если окно уже имеет парента...<br /> if(::GetWindowLong(hWnd, G...

Ключевые слова:
Автор: Gurza
Аннотация: // #include &lt;ShlObj.h &gt; из 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**)&amp;pTaskBar);<br /> if(SUCCEEDED(hr))<br /> {<br /> pTaskBar-&gt;DeleteTab(m_hWnd);<br /> pTaskB...

Ключевые слова:
Автор: Leonid Troyanovsky
Аннотация: Здравствуйте, Аноним, Вы писали:<br /> <span class='lineQuote level1'><br /> А&gt;Как проверить, показывается ли у приложения кнопка на 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...

Ключевые слова:
Автор: Alex Fedotov
Аннотация: Здравствуйте, Vis, Вы писали:<br /> <span class='lineQuote level1'><br /> Vis&gt;Можно ли имея HWND извлечь иконку окна, причем:</span><br /> <span class='lineQuote level1'><br /> Vis&gt;1) HWND принадлежит другому процессу.</span><br /> <span class='lineQuote level1'>Vis&gt;2) Окно имеет captionbar c иконкой, видимой визуально.</span><br /> <span class='lineQuote level1'><br /> <br /> Vis&gt;Почему то WM_GETICON не работает. </span><br /> <span class='lineQuote level1'>Vis&gt;Может у него какие-то ограничения на окна из другого процесса...</span>

Ключевые слова:
Автор: Roustem Galeev
Аннотация: В свое время, когда я только начинал осваивать хитрости программирования под Windows, мне пришла в голову мысль, что хорошо было бы создать учебную программу для экспериментирования с многочисленными параметрами используемых функций – чтобы не надо было каждый раз редактировать и компилировать заново исходный код «учебного» проекта, а можно было бы выбрать необходимые опции прямо в диалоговом окне и тут же увидеть результат. И через некоторое время я ее действительно создал.

Ключевые слова:
Автор: Alex Fedotov
Аннотация: <span class='lineQuote level1'>A&gt;Почему ShowCursor не работает в потоках?</span><br /> <br /> Потому что курсор мыши является частью input state, и по умолчанию для каждого потока &mdash; разный. ShowCursor на самом деле работает, только эффект будет видет тогда, когда курсор находится над окном, которым владеет поток, вызвавший SetCursor.<br /> <span class='lineQuote level1'><br /> А&gt;и как э...</span>

Ключевые слова:
Автор: Сапронов Андрей Юрьевич
Источник: RSDN Magazine #1-2003
Аннотация: В статье рассматривается создание непрямоугольных окон с применением регионов Windows GDI. Помимо непосредственного описания создания непрямоугольных окон, описано использование функций WinAPI для работы с регионами, а также соответствующих им методов класса CRgn библиотеки MFC.

Ключевые слова: GetRegionData, ExtCreateRegion, CreateFromData, CreatePolygonRgn, CombineRgn, SetWindowRgn, GetWindowRgn, CreateEllipticRgnIndirect, OffsetRgn, XFORM

Диалоги

Автор: А. Евченко
Источник: OpenGL и DirectX: программирование графики
Материал предоставил: Издательство "Питер"
Аннотация: Глава из книги “OpenGL и DirectX: программирование графики”

Ключевые слова: dialog
Автор: Paul Bludov
Источник: RSDN Magazine #1-2003
Аннотация: В статье рассматриваются способы расширения функциональности стандартных окон сообщений, а также создания нестандартных.

Ключевые слова: MessageBox
Авторы: Игорь Вартанов
Александр Шаргин
Аннотация: Демонстрационный проект ToolTip

Ключевые слова:
Автор: Александр Шаргин
Аннотация: Демонстрационный проект DlgAccel Демонстрационный проект MfcDlgAccel

Ключевые слова:
Автор: Игорь Вартанов
Аннотация: Чтобы добавить иконку, нужно каким-либо образом дать знать окну диалога об этом.

Ключевые слова:
Автор: Alexander Shargin
Аннотация: <span class='lineQuote level1'>LB&gt;Не понимаю, почему когда создаю Dialog Based Application, в title bar'е отображается иконка, которая 32х32, а хотелось бы видеть 16х16. Мелочь, а неприятно. Тем более, что в SDI все нормально. </span><br /> <br /> Это какой-то глюк в Windows, надо убрать один вызов SetIcon:<br /> <br /> [ccode]<br /> SetIcon(m_hIcon, TRUE); ...

Ключевые слова:
Автор: Сергей Пиманов
Аннотация: Демонстрационный проект BkDlg

Ключевые слова:
Автор: Александр Шаргин
Аннотация: Допустим, вы вставили в программу вызов DialogBox (или похожей функции) и обнаружили, что диалог почему-то не создаётся. Что делать в такой ситуации? На этот вопрос я и постараюсь ответить.

Ключевые слова:
Автор: Игорь Вартанов
Аннотация: Обычно это случается при написании кода диалоговой процедуры на чистом Win API. Причина такого неприятного эффекта заключается в том, что ваша диалоговая процедура организована следующим образом:

Ключевые слова:

Стандартные диалоги

Автор: Армен Акопян
Аннотация: Демонстрационная программа – 12KbДемонстрационный проект – 26KbТолько исходные файлы класса – 3Kb

Ключевые слова: icon selection dialog, CIconDialog, SelectIcon, Armen, Hakobyan
Автор: Игорь Ткачёв
Аннотация: Windows Shell API включает функцию SHBrowseForFolder, которая отображает стандартный диалог, с помощью которого пользователь может выбрать нужный каталог. На самом деле, выбрать можно не только каталог, а любой объект Shell namespace, в том числе принтеры и компьютеры. Ниже приведён пример испо...

Ключевые слова:
Автор: Odi$$ey
Аннотация: <span class='lineQuote level1'>E&gt;В explorer-style диалоге открываемом через GetOpenFileName слева есть панель, на которой отображается пять ярлыков: History, Desktop, My Documents и т.д.</span><br /> <span class='lineQuote level1'>E&gt;Можно ли каким-нибудь удобным способом (желательно не перекрывая стандартную процедуру окна) затащить туда свой собственный ярлык?</span><br /> <br /> это наб...

Ключевые слова:
Автор: Alex Fedotov
Аннотация: Здравствуйте Чайков Юрий Александрович, вы писали:<br /> <span class='lineQuote level1'><br /> ЧЮА&gt;В stdafx.h стоит строчка:</span><br /> <span class='lineQuote level1'>ЧЮА&gt;#define _WIN32_WINNT 0x0500</span><br /> <span class='lineQuote level1'>ЧЮА&gt;(это нужно, чтобы делать прозрачность для окошек)</span><br /> <span class='lineQuote level1'><br /> ЧЮА&gt;В некотором месте программы создается объект класса CFileDialog:</span><br /> <span class='lineQuote level1'>ЧЮА&gt;.void CErrorDlg::OnButton1() </span><br /> <span class='lineQuote level1'>ЧЮА&gt;.{</span><br /> <span class='lineQuote level1'>ЧЮА&gt;. CFileD...</span>

Ключевые слова:

Многоязычные приложения

Автор: Илья Зарецкий
Источник: RSDN Magazine #2-2004
Аннотация: Статья рассказывает о реализации механизма переключения языка пользовательского интерфейса в приложениях, разрабатываемых с использованием библиотеки MFC.

Ключевые слова:
Автор: Flamer
Аннотация: В общем, под это дело можно и отдельный топик. Итак: новая версия компонента. Полного автоматизма нет, и, как я решил, не будет. Но не пугайтесь, все стало еще проще <img border='0' width='15' height='15' src='../Forum/images/wink.gif' /> В архиве содержится пакадж с компонентом, который надо установить перед открытием тестового проекта (если вы захотите поиграть с пр...

Ключевые слова:
Авторы: Кристиан Нейгел
Билл Ивьен
Джей Глинн
Карли Уотсон
Морган Скиннер
Аллен Джонс
Источник: C# 2005 для профессионалов
Материал предоставил: Издательство ''Вильямс''
Аннотация: Глава из книги "C# 2005 для профессионалов". Эта глава посвящена глобализации и локализации приложений .NET. Точнее говоря, здесь обсуждаются следующие темы: - Применение классов, представляющих культуры и регионы - Интернационализация приложений - Локализация приложений Материал предоставлен издательством "Вильямс".

Ключевые слова: .NET, .NET 2.0, Windows Forms, Web Forms, Visual Studio .NET, C# 2005, разработка приложений для .NET, локализация
Авторы: Таратин Михаил
Марков Сергей
Источник: RSDN Magazine #3-2005
Аннотация: В статье рассмотрены возможности по применению инструментальных средств для локализации приложений на примере использования Lingobit Localizer. Описаны проблемы возникающие на разных этапах перевода программ и предложены пути их решения. Показаны преимущества использования инструментальных средств над ручной локализацией.

Ключевые слова: software localization, localization, локализация приложений, multilingual, многоязычный, перевод, translation
Авторы: Таратин Михаил
Марков Сергей
Источник: RSDN Magazine #2-2006
Аннотация: В данной статье рассматривается один из подходов к созданию многоязычных приложений при использовании отдельных языковых библиотек (resource-only/satellite dll). Описаны способы их создания и подключения к основному приложению. Кроме этого, предложена миниатюрная библиотека для выбора языка прямо из пользовательского интерфейса.

Ключевые слова: Lingobit
Автор: Гулай Борис aka BoresExpress
Источник: Журнал "Программист"
Аннотация: Многие разработчики мечтают о всемирной популярности своих приложений, но почти никто не создает локализованных версий своих приложений, ошибочно полагая, что программа должна сначала завоевать популярность.

Ключевые слова:

Рекомендации по дизайну

Автор: Сергей Выдров
Источник: RSDN Magazine #1-2004
Аннотация: Статья содержит рекомендации по созданию пользовательского интерфейса, являющиеся рзультатом авторского осмысления рекомендаций от Microsoft.

Ключевые слова:
Автор: Microsoft Corporation
Перевод: Никита Зимин
Мария Аршава
Источник: Microsoft Inductive User Interface Guidelines
Материал предоставил: RSDN Magazine #6-2004
Аннотация: Эта статья описывает новую модель пользовательского интерфейса, названную «индуктивный пользовательский интерфейс» (inductive user interface, IUI). Называемая также «индуктивной навигацией», IUI-модель показывает, как сделать прикладные программы более простыми, разбивая функциональность на экраны или страницы, которые проще как описывать, так и понимать. IUI-модель проявляется в разнообразных проектах Майкрософт, наиболее заметно — в Microsoft Money 2000. Данная статья является скорее введением в IUI, чем утвержденным и всесторонним набором рекомендаций и правил.

Ключевые слова: inductive user interface, индуктивный пользовательский интерфейс, юзабилити, IUI
Автор: nzeemin
Аннотация: Здравствуйте, Зверёк Харьковский, Вы писали:<br /> <span class='lineQuote level2'><br /> Doc&gt;&gt;Это в том случае если диалог производит некое действие (Print ...).</span><br /> <span class='lineQuote level2'>Doc&gt;&gt;Обратные примеры: Properties, About &mdash; открывают диалоги просто отображающие некую информацию.</span><br /> <span class='lineQuote level1'><br /> ЗХ&gt;На мой вкус, троеточие &mdash; символизирует "ты не сразу сделаешь, что хочешь...</span>

Ключевые слова:
Автор: Sinclair
Аннотация: Здравствуйте, Воронков Василий, Вы писали:<br /> <span class='lineQuote level1'><br /> ВВ&gt;Где можно найти какие-нибудь грамотные материалы по веб-дизайну? Основной интерес &mdash; подбор цветовой палитры. Т.е. вот например решено что сайт должен быть в синих тонах &mdash; как подробрать цвета для всего остального, оттенки там, какие другие цвета хорош...</span>

Ключевые слова:
Автор: dmitre
Аннотация: <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>...

Ключевые слова:
Автор: nzeemin
Аннотация: Возможно, и даже вероятно, кому-то этот список окажется полезным &mdash; мои букмарки под заголовком "Юзабилити". Не претендую на полноту, существенные дополнения &mdash; только приветствуются.<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 &mdash; User Centered...

Ключевые слова:
Автор: c-smile
Аннотация: Здравствуйте, 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 что-то типа

Ключевые слова:
Авторы: Игорь Вартанов
Александр Шаргин
Аннотация: Нечасто, но иногда все же бывает необходимо получить хэндл окна консольного приложения. Windows API не предусматривает никакой специальной функции для выполнения этой задачи, однако для её решения можно найти обходные пути.

Ключевые слова:
Автор: Блудов Павел
Аннотация: Есть недодокумментированная функция 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 /> Павел.

Ключевые слова:
Автор: size_t
Аннотация: <span class='lineQuote level1'>_&gt;Народ!</span><br /> <span class='lineQuote level1'>_&gt;Расскажите мне такому как окно консоли развернуть на весь экран (не в смысле alt+enter а maximize, средняя кномпочка в правом верхнем углу окна).</span><br /> <span class='lineQuote level1'>H&gt;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&gt;[msdn]SetConsole...</span>

Ключевые слова:
Автор: orangy
Аннотация: <span class='lineQuote level2'>A&gt;&gt;Может ли консольное приложение отследить нажатие на кнопку закрытия окна, в котором оно выполняется, и само корректно после этого завершиться?</span><br /> <span class='lineQuote level1'>B&gt;Смотри в MSDN функцию signal</span><br /> <br /> А лучше CTRL_CLOSE_EVENT &amp; <a target='_blank' class='m' href='http://search.microsoft.com/ru-RU/results.aspx?q=SetConsoleCtrlHandler'>SetConsoleCtrlHandler</a>

Ключевые слова:

Устройства ввода

Авторы: Александр Шаргин
Антон Баула
Аннотация: При создании пользовательского интерфейса иногда требуется определить момент, когда курсор мыши выходит за пределы окна. Для решения этой задачи существуют различные методы. Можно воспользоваться готовой функцией TrackMouseEvent, которая появилась в Win32 API, начиная с Windows 98/NT4, или же эквива...

Ключевые слова:
Автор: Odi$$ey
Аннотация: <span class='lineQuote level1'>J&gt;Как программно находить окно поимени , заполнять 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 /> ...

Ключевые слова:
Автор: Stanky
Источник: RSDN Magazine #1-2005
Аннотация: Каждый знает, что такое клавиатура и для чего она предназначена, но далеко не все знают, что и как происходит при нажатии той или иной клавиши. В этой статье я объясню некоторую низкоуровневую часть её функционирования и приведу пример реализации простого обработчика клавиатурного прерывания для реального режима (драйвер).

Ключевые слова: keyboard
Автор: Dr. Joseph M. Newcomer
Перевод: Алексей Остапенко
Источник: Hooks and DLLs
Аннотация: Статья посвящена реализации глобальных хуков. В ней рассматриваются типичные проблемы, связанные с различием виртуальных адресов перехватывающей DLL в адресных пространствах различных процессов, описывается способ создания разделяемого сегмента данных, приводится пример DLL, реализующей глобальный хук.

Ключевые слова:

Элементы управления

Кнопки

Автор: Игорь Вартанов
Аннотация: Демонстрационный проект bmpbtn (33.1KB)

Ключевые слова:
Автор: Odi$$ey
Аннотация: Здравствуйте, &lt;Аноним&gt;, Вы писали:<br /> <span class='lineQuote level1'><br /> А&gt;На диалоги есть несколько групп radio button, как указать к какой группе какая относится?</span><br /> <br /> Надо расставить их по-порядку в Tab Order (Ctrl-D при редактировании ресурса диалога). Назначаешь самому первому свойство Group = True, дальше в порядке Tab Order идет...

Ключевые слова:

Комбинированные списки

Автор: Игорь Вартанов
Аннотация: Такой эффект имеет место при неправильном заданиии высоты контрола combo box. В этом случае вместо выпадающего списка под полем ввода отрисовывается утолщенная линия. Проблема может быть решена увеличением высоты контрола, как программым способом, так и редактированием ресурс-скрипта диалога на этап...

Ключевые слова:
Автор: Игорь Вартанов
Аннотация: Поскольку высота списка combobox-контрола определяется высотой самого контрола, то для ее изменения необходимо изменить высоту контрола любым доступным способом.

Ключевые слова:
Автор: Игорь Вартанов
Аннотация: Необходимо получить текст окна контрола любым доступным способом.

Ключевые слова:

Меню

Автор: Александр Шаргин
Аннотация: Прежде чем отображать контекстное меню, его необходимо загрузить из ресурсов приложения или создать его прямо на лету. Рассмотрим оба способа.

Ключевые слова:
Автор: Александр Шаргин
Аннотация: Обычно такая проблема возникает, когда вы пытаетесь выполнить код следующего вида:

Ключевые слова:

Поля ввода

Автор: Игорь Вартанов
Аннотация: Для того, чтобы окно редактирования могло отобразить многострочный текст, сам контрол должен иметь стиль ES_MULTILINE, и текст в окне должен разделяться на строки цепочками символов \r\n. Чтобы разбивать текст на строки во время ввода с клавиатуры (нажатием Enter), необходимо добавить окну редактиро...

Ключевые слова:
Автор: Игорь Вартанов
Аннотация: Демонстрационный проект EditClr

Ключевые слова:
Автор: Игорь Вартанов
Аннотация: Поскольку edit box является окном, то для изменения текста в нем вполне подойдет функция SetWindowText() (либо SetDlgItemText(), что, в сущности, дела не меняет). В этом случае произойдет полная замена текста в окне.

Ключевые слова:
Автор: Игорь Вартанов
Аннотация: Начнем с того, что для обработки нажатия Enter необходимо, чтобы (в общем случае) окно редактирования ожидало этого нажатия (т.е. имело стиль ES_MULTILINE). В противном случае система выполнит трансляцию этого нажатия в нажатие кнопки родительского окна, имеющей в текущий момент стиль BS_DEFAULTPUSH...

Ключевые слова:
Автор: SchweinDeBurg
Аннотация: <span class='lineQuote level1'>VT&gt;автоматически переносить строки?</span><br /> <br /> Убрать стиль ES_AUTOHSCROLL?

Ключевые слова:
Автор: Игорь Вартанов
Аннотация: Очевидно, установлен неподходящий стиль окна редактирования. Стандартное однострочное окно игнорирует ввод Enter. Это сообщение будет транслировано системой в нажатие текущей "кнопки по-умолчанию" в родительском окне. Чтобы окно ввода начало реагировать на нажатие Enter, оно должно иметь стили ES_MU...

Ключевые слова:

Строки состояния

Автор: Александр Шаргин
Аннотация: Чтобы решить эту задачу, достаточно вспомнить, что строка состояния - это самое обыкновенное окно, на котором можно создавать дочерние окна. В данном случае нам потребуется создать контрол типа progress bar, задав для него стиль WS_CHILD и строку состояния в качестве родительского окна. Когда индика...

Ключевые слова:

Тултипы

Автор: Роджер Джек
Перевод: Олег Быков
Аннотация: Автор подробно рассматривает всевозможные виды подсказок и их реализацию, включая поддержку подсказок классами библиотеки MFC, добавление подсказок к элементам Web-страниц, реализацию подсказок "вручную" и другое.

Ключевые слова:
Автор: Александр Шаргин
Аннотация: Для этой цели предусмотрены специальные сообщения TTM_SETTIPTEXTCOLOR и TTM_SETTIPBKCOLOR. После того как тултип создан, их можно отправлять с использованием функции SendMessage. При этом в wParam записывается новое значение цвета, а содержимое lParam игнорируется. Рассмотрим пример, в котором для т...

Ключевые слова:
Автор: Александр Шаргин
Аннотация: Первое, что приходит в голову в связи с этим вопросом - это сообщение TTM_SETDELAYTIME. Оно предназначено для задания различных временных интервалов, связанных с тултипом. В частности интервал, задаваемый флагом TTDT_AUTOPOP, определяет промежуток времени, по истечении которого тултип исчезает автом...

Ключевые слова:
Автор: Александр Шаргин
Аннотация: Начиная с версии 4.70 библиотеки Comctl32.dll тултипы поддерживают многострочный режим работы. По умолчанию он выключен, и всё, что требуется от нас - активизировать его. Для этого предназначено сообщение TTM_SETMAXTIPWIDTH, которое позволяет задать ширину тултипа (в пикселях). По умолчанию ширина у...

Ключевые слова:
Автор: Odi$$ey
Аннотация: Здравствуйте, Sinatr, Вы писали:<br /> <span class='lineQuote level4'><br /> Mag&gt;&gt;&gt;&gt;Реально ли сделать многострочный tooltip?</span><br /> <span class='lineQuote level3'>M&gt;&gt;&gt;вставь в него символ новой строки</span><br /> <span class='lineQuote level2'>Mag&gt;&gt;И какой же? \n, \n\r, \r\n &mdash; не работают. <img border='0' width='15' height='15' src='../Forum/images/frown.gif' /></span><br /> <span class='lineQuote level1'><br /> S&gt;Это они в designer'е не работают, а в run-time на ура:</span><br /> <span class='lineQuote level1'>S&gt;[c#]</span><br /> <span class='lineQuote level1'>S&gt;toolTip1.SetToolTip(button1, "Первая строка\nВторая ст...</span>

Ключевые слова:
Автор:
Аннотация: Здравствуйте, Аноним, Вы писали:<br /> <span class='lineQuote level1'><br /> А&gt;У меня на некоторых компонентах title довольно большой и хотелось бы его отформатировать в несколько строк</span><br /> <span class='lineQuote level1'>А&gt;Пытаюсь сделать перенос при помощи \n &mdash; так этот "\n" типа так и отображается</span><br /> <br /> &amp; #13; без пробела после &amp;

Ключевые слова:
Авторы: Игорь Вартанов
Александр Шаргин
Аннотация: Демонстрационный проект ToolTip

Ключевые слова:
Автор: Odi$$ey
Аннотация: Здравствуйте, Игорь Вартанов, Александр Шаргин, Вы писали:<br /> <span class='lineQuote level1'><br /> ИВА&gt;<b>Статья:</b> </span><br /> <span class='lineQuote level1'>ИВА&gt;<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 &mdash; как то же самое делается в WTL:<br /> <br /> <li /> добавляем в данные диалога CTool...

Ключевые слова:
Автор: SWW
Аннотация: <span class='lineQuote level2'>P&gt;&gt;Не подскажете где икать информацию по реализации сабжа,</span><br /> <span class='lineQuote level2'>P&gt;&gt;под сабжем подразумеваю следующее:</span><br /> <span class='lineQuote level2'>P&gt;&gt; И как он правильно называется. <img border='0' width='15' height='15' src='../Forum/images/smile.gif' /> </span><br /> <span class='lineQuote level1'><br /> A&gt;Называется это Auto Complete. Начать поиск можно с функции SHAutoComplete и интерфейса IAutoComplete.</span><br /> <br /> SHAutoComplete &mdash; самый простой способ, но он позволя...

Ключевые слова:
Автор: WinterMute
Аннотация: Еще несколько маленьких доработок:<br /> <br /> [ccode]<br /> namespace UI2<br /> {<br /> class Tooltip<br /> : public CWindowImpl&lt;Tooltip, ATL::CWindow&gt;<br /> {<br /> public:<br /> typedef CWindowImpl&lt;Tooltip, ATL::CWindow&gt; baseClass;<br /> typedef Tooltip thisClass;<br /> <br /> HWND m_hWndOwner;<br /> <br /> private:<br /> TOOLINFO m_ToolInfo;<br /> bool ...

Ключевые слова:

HotKeyCtrl

Автор: Алексей Кирюшкин
Источник: RSDN Magazine #4-2004
Аннотация: Как использовать в своей программе "горячие клавиши"? Какой обработчик вызывать и что вписывать в карту сообщений?

Ключевые слова: HotKey
Автор: Александр Авдонин
Аннотация: WinHotkeyCtrl – элемент управления, предназначенный для задания и управления «горячими клавишами» (hotkey`s). В отличие от стандартного элемента управления Windows (HotKeyCtrl), WinHotkeyCtrl обладает рядом преимуществ: [+] разрешены комбинации с клавишей-модификатором Win; [+] поддержка мултимедийных клавиш (Microsoft-совместимых); [+] перегрузка практически любой системной комбинации клавиш, кроме Ctrl+Alt+Del; [+] расширенное контекстное меню. WinHotkeyCtrl строится на базе стандартного элемента управления EditCtrl методом сабклассирования (subclassing), что обеспечивает удобство и легкость его использования с шаблонами окон диалогов. С помощью директив препроцессора в одном исходном файле реализованы 2 версии WinHotkeyCtrl: для Windows 98/NT и для Windows 2000 (и выше).

Ключевые слова: hotkey, WinHotkeyCtrl
Автор: Odi$$ey
Аннотация: Здравствуйте, Carc, Вы писали:<br /> <span class='lineQuote level1'><br /> C&gt;Как получить текст горячей клавиши?</span><br /> <span class='lineQuote level1'>C&gt;Т.е. я юзую какую нить к примеру Ctrl+A у себя в приложении, причем есессно клавиша может меняться пользователем, как мне получить текст который отображать в меню (типа какой нить "Ctrl+A"), пробовал тот же GetKeyName но что ...</span>

Ключевые слова:

Image List

Автор: Игорь Вартанов
Аннотация:

Ключевые слова:

List View

Автор: Тимофей Чадов
Аннотация: Демонстрационная программа - 161 KB Исходные тексты - 39 KB

Ключевые слова:
Автор: Odi$$ey
Аннотация: Здравствуйте, UNI_X, Вы писали:<br /> <span class='lineQuote level1'><br /> UNI&gt;...на этапе создания ListView, вернее когда он уже создан, и создаются столбцы, я указываю им стиль выравнивания текста: <i>LVCFMT_CENTER</i> Но первый столбец всегда игнорирует этот стиль, там текст всегда по левому краю идет. MSDN по этому поводу пишет:</span><br /> <br /> [q...

Ключевые слова:
Автор: Odi$$ey
Аннотация: <span class='lineQuote level1'>BS&gt;Привет всем!</span><br /> <span class='lineQuote level1'>BS&gt;Есть стандартный ListView со стилями LVS_EX_GRIDLINES и LVS_REPORT (эмуляция Grid-a). Хочется сделать "зебру" &mdash; чередующиеся белые и серые полосы. Или выделять некоторые строки иным цветом (красным, если это что-то критическое), в зависимости от значения строки.</span><br /> <span class='lineQuote level1'><br /> BS&gt;Можно ли эт...</span>

Ключевые слова:
Автор: McQwerty
Аннотация: <span class='lineQuote level1'>L&gt;Имеется ListView. Мне нужно выделить строки цветом (неважно, фон или текст) в зависимости от определенных параметров. <b>Проект не под MFC</b>.</span><br /> <span class='lineQuote level2'><br /> &gt;&gt; что ты раскричался? ведь все в МСДН есть. что-то в таком духе:</span><br /> <br /> [ccode]<br /> <span class='lineQuote level2'>&gt;&gt; case CDDS_PREPAINT:</span><br /> <span class='lineQuote level2'>&gt;&gt; * pResult = CDDF_NOTIFYITEMDRAW;</span><br /> <span class='lineQuote level2'>&gt;&gt; break...</span>

Ключевые слова:
Автор: Odi$$ey
Аннотация: Здравствуйте, DreamWeaver, Вы писали:<br /> <span class='lineQuote level1'><br /> DW&gt; Мне нужно обрабатывать щелчек мыши на определенной ячейки в ListView. Строку определить просто, а вот для определения столбца </span><br /> <br /> поставь обработчик на NM_CLICK, NM_RCLICK или NM_DBLCLK, смотря что тебе надо, в уведомлении тебе придет [b]NMHDR * pNMHDR[...

Ключевые слова:

Progress Bar

Автор: Александр Шаргин
Аннотация: Чтобы решить эту задачу, достаточно вспомнить, что строка состояния - это самое обыкновенное окно, на котором можно создавать дочерние окна. В данном случае нам потребуется создать контрол типа progress bar, задав для него стиль WS_CHILD и строку состояния в качестве родительского окна. Когда индика...

Ключевые слова: