GUI Programming's Journal
[Most Recent Entries]
[Calendar View]
[Friends]
Below are the 15 most recent journal entries recorded in
GUI Programming's LiveJournal:
| Thursday, April 8th, 2010 | 11:12 pm [gui_moderator]
 |
MFC & DPI
В Visual Studio 2010 MFC-приложения будут по умолчанию помечаться как DPI-Aware, пишет Пэт Бреннер в VC++ Team Blog. Как известно, в Windows Vista был несколько переработан подход к работе с различными значениями DPI. Ранее приложение было обязано само следить за всем, что связано с поддержкой различных значений DPI и включать код для масштабирования окон, правильного расположения графических элементов etc. В Windows Vista была реализована поддержка автоматического масштабирования, что позволило приложениям корректно отображаться при различных DPI, пусть и с эффектом некоторой "размытости". Приложение, однако, могло пометить себя как DPI-Aware с помощью функции SetProcessDPIAware или манифеста и само управлять собственным масштабированием. По умолчанию приложение считалось DPI-Unaware. Теперь же, в Visual Studio 2010 все MFC-приложения (даже старые) будут автоматически помечаться как DPI-Aware, что может повлечь повляение старых проблем в кастомнизированных элементах управления. Опция, регулирующая данное поведение находится в настройках проекта: "Configuration Properties -> Manifest Tool -> Input and Output: Enable DPI Awareness":  Будьте внимательны! | | Saturday, November 7th, 2009 | 9:24 pm [elagin_pavel]
 |
Ищется инструмент для разработки GUI для Windows Mobile.
Вероятно какой-то визуальный редактор, который позволяет размещать стандартные контролы. Было бы не плохо получить возможно настраивать между ними взаимодействия, например переходы в другие окна. Так же вывод всех надписей в ресурсный файл. Очень не удобно рисовать в фотошопе, что бы показать заказчику как это будет выглядеть, да и текст приходиться забивать заново. | | Thursday, September 10th, 2009 | 3:36 pm [parallelsmoscow] |
Вакансия: Программист, разработчик GUI (Москва) Parallels
Компания Parallels, основанная в 1999 г., предоставляет динамичное окружение в по-настоящему глобальной компании со штатом 900 человек, 10 миллионами пользователей и 800 партнерами, в числе которых Microsoft, Apple, Intel, AMD, Dell, HP, и IBM. Обязанности: - разработка на C++ графического интерфейса пользователя и программных библиотек для многопользовательского кросс-платформенного приложения, управляющего работой виртуальных машин Parallels;
- участие в проектировании архитектуры клиентской части приложения и библиотек программного интерфейса;
- участие в проектировании интерфейса и сценариев работы пользователя;
- полная занятость, ежедневное присутствие в офисе (работа удаленно исключается);
- работа в интенсивном ритме, со сжатыми сроками в большой команде разработчиков в постоянном взаимодействии со смежными командами;
Требования: - опыт разработки ПО – не менее 5 лет (личное участие в разработке кода!),
- опыт в разработке GUI приложений не менее 2 лет;
- опыт разработки на C++ не менее 3 лет;
- уровень владения С++, ООП: эксперт;
- обязательно наличие опыта разработки многопользовательских многопоточных приложений для работы в многоплатформенной среде: как минимум: любая Unix-система (Linux, FreeBSD, Mac OS X) + Windows;
- опыт использования библиотеки Qt – не менее 1 года;
- опыт практического использования XML;
- опыт работы в составе группы программистов;
- опыт использования систем версионирования (SVN, CVS, проч.) и багтрекинга (Bugzilla, др.);
- активное применение методики TTD (test driven development);
- знание скриптовых языков (Python) приветствуется;
- опыт разработки приложений для Mac OS X (Carbon, Cocoa, Objective C) - большой плюс.
Компенсация и льготы: - размер заработной платы определяется по результатам собеседования (в зависимости от имеющегося у кандидата опыта и профессиональных навыков);
- медицинская страховка (включает стоматологическое обслуживание)
- бесплатные обеды и кофе брейки;
- офис компании распологается в Москве, ст.м. «Отрадное»;
- корпоративный транспорт от ст. м. «Речной вокзал», «Отрадное», г. Долгопрудный.
Ждем Ваши резюме на E-mail: innav@parallels.com
Большое спасибо за проявленный интерес к Parallels, одной из самых быстроразвивающихся компаний в мире! | | Thursday, February 7th, 2008 | 2:18 pm [jtootf]
 |
UI Continuations
"...диалоговые окна, собирающие аргументы для процедур, часто создают эфемерные, неестественные прерывания нормального потока выполнения программы, заставляя пользователя вносить данные как можно быстрее с целью возобновить нормальное поведение программы..." в статье, озаглавленной User Interface Continuations, авторы предлагают иной подход к запросу у пользователя необходимой для работы приложения информации - непрерывное и добровольное накопление данных, и выполнение тех или иных процедур тогда, когда данных для их вызова становится достаточно. сама аккумулируемая таким образом информация (контекст основного потока выполнения) является first-class object, и может быть сохранена в любой момент для дальнейшего использования; сам поток выполнения таким образом не прерывается. в данную концепцию элементарно ложится, например, понятие истории контекста - возможность повторного использования настроек без сохранения/извлечения их из специфического носителя (файла, записи реестра, etc), и шаблонов настроек читать здесь (статья в PDF, english, 108.94 Kb) | 1:12 am [gui_moderator]
 |
C++ FQA
Думаю, многим известен С++ FAQ lite Marshall`a Cline - замечательная подборка коротких статей, затрагивающих различные аспекты С++. Он заслуживает внимания сам по себе, но сегодня хотелось бы дать ссылку на другой FAQ, созданный ему в пику: С++ Frequently Questioned Answers (FQA). Автор сего замечательного опуса ( yousefk) дает ответы на те же вопросы, но в несколько другом ключе. Критика - вот его конек. И, как правило, достаточно интересная. Вывод, напрашивающийся после прочтения: С++ - язык со многими недостатками. Возможно, документ следовало назвать С--. Впрочем, судите сами. Время так или иначе проведете с пользой и совсем не скучая. За ссылку спасибо "тру-программисту" | | Wednesday, February 6th, 2008 | 1:58 am [gui_moderator]
 |
CWnd::GetSafeHwnd()
Каждый, кто использовал MFC, знает о существовании функции HWND CWnd::GetSafeHwnd(). Почему "safe"? Достаточно взглянуть на реализацию: HWND CWnd::GetSafeHwnd() const { return this == NULL ? NULL : m_hWnd; } Очевидно, что обращение к этой функции через нулевой указатель на объект абсолютно корректно и не приведет ни к каким катастрофическим последствиям: CWnd* pwnd = 0; HWND hwnd = pwnd->GetSafeHwnd(); // hwnd will be set to 0 Аналогичным образом реализован CWnd::operator HWND(). Следует, однако, заметить, что хотя вызов невиртуальной функции через нулевой указатель в реализации С++ от Microsoft и легален, согласно стандарту, поведение кода с подобными изысками не определено. | | Thursday, December 13th, 2007 | 12:49 am [gui_moderator]
 |
PDFCHM - тысячи книг по программированию в отличном качестве, включая самые последние новинки. Требуется простая регистрация. Дает скачивать две в сутки с одного IP. | | Tuesday, July 3rd, 2007 | 1:02 pm [sentjao]
 |
Вопрос
Я новичок в WPF. Вот какой вопрос. Есть ListView, в нем DataTemplate, который показывает данные из некоторого Xml. В Xml есть элементы с тремя аттрибутами: name, value и controlType. Для отображения аттрибута name у меня в темплэйте TextBlock, а для value должен быть или TextBox, или ComboBox, в зависимости от значения третьего аттрибута controlType. Как бы мне такое сделать? Xml: <elements> <element name="ProjectProperty1" value="1" elementType="project" elementId="1" controlType="1"></element> <element name="ProjectProperty2" value="2" elementType="project" elementId="1" controlType="2"></element> <element name="ComponentProperty1" value="1" elementType="component" elementId="1" controlType="1"></element> <element name="ComponentProperty2" value="2" elementType="component" elementId="1" controlType="2"></element> </elements> XAML: <ListView Name="listView1" Margin="-4,-26,3.90322580645159,0" Height="50" VerticalAlignment="Top" Grid.ColumnSpan="2"> <ListView.ItemTemplate> <DataTemplate> <Grid Name="gridInner" ShowGridLines="True"> <Grid.ColumnDefinitions> <ColumnDefinition Width="120px"/> <ColumnDefinition Width="40px"/> </Grid.ColumnDefinitions> <TextBlock Grid.Column="0" Name="propertyName" Text="{Binding XPath=@name}" /> <TextBox Grid.Column="1" Name ="propertyValue" Text="{Binding XPath=@value}" /> </Grid> </DataTemplate> </ListView.ItemTemplate> </ListView> Вот, там, где выделенный красным TextBox, должен быть иногда TextBox, а иногда ComboBox, в зависимости от значения аттрибута controlType в Xml. | | Wednesday, April 25th, 2007 | 10:55 pm [gui_moderator]
 |
| | Saturday, April 21st, 2007 | 2:47 pm [gui_moderator]
 |
Hi WPF!
Windows Presentation Foundation (or WPF), formerly code named Avalon, is the graphical subsystem feature of the .NET Framework 3.0 (formerly called WinFX). It provides a consistent programming model for building applications and provides a clear separation between the UI and the business logic. A WPF application can be deployed on the desktop or hosted in a web browser. It also enables richer control, design, and development of the visual aspects of Windows programs. It aims to unify a host of application services: user interface, 2D and 3D drawing, fixed and adaptive documents, advanced typography, vector graphics, raster graphics, animation, data binding, audio and video. Read moreА здесь небольшой обзор и введение в WPF на русском. | 2:27 pm [gui_moderator]
 |
Let's try again
Надо признать, что наше сообщество с немалой правдоподобностью напоминает мертворожденного ребенка. Ну что ж, можно пожать плечами и сказать: "первый блин комом". Однако, мне совсем не нравится такой подход. Что же делать? Во-первых, я вернулся в ЖЖ, а это уже немало. Во-вторых, почитав комментарии здесь и в других сообществах, я решил воспринять критику, тем более она была конструктивной. В основном жаловались на то, что сообщество посвящено только Windows и только С++. Что ж, давайте уберем это ограничение, и посмотрим что получится. Засим торжественно объявляю: 1) Снимаются ограничения на язык программирования 2) Снимаются ограничения на платформы 3) Разрешается некоторая доля оффтопика, вроде анекдотов на тему GUI, usability etc. Только знайте меру. В связи с вышеуказанными изменениями, огромная просьба использовать теги: c++, bc++, delphi, c#, com, wpf, wtl, offtopic, fun и что там еще будет к месту. И поактивнее господа. Начнем постить сюда, всем будет интереснее и веселее. В конце концов, сообщество нужное, и очень жаль, что оно просто умрет. | | Friday, February 9th, 2007 | 11:48 pm [idispatch]
 |
Layout manager
Hello, Everyone! My first post to this community, so please be kind:) So, I am searching for a simple layout manager for my dialog based application. I estimate there will be a big number of dialogs in the application (and to this point the specification is not clear in details). I'd prefer to layout the controls in Java way, i.e. to have a container (pane) where I would be able to pack controls and layout them with flexible configurations (box, grid, etc..). On Windows i have to draw each dialog with explicit coordinates, this is another approach of making a fixed layout. Recently, in .Net they allow to do anchoring and provide some sort of a layout manager, with docking and anchoring. All I want to have a very lightweight analog for my Windows application. I do not need heavy cross platform solutions and all-can-do solutions, like TCL, wxWindows, etc. All I want is to have a simple set of classes, preferably in C++ template style, in a small number of files. There should be a simple way to arrange the controls within the container programmatically. The main constraint is to have a lite and powerful set of existing classes so I won't need to reinvent the bicycle. Does anybody uses something like that already? Thank you. | | Saturday, February 10th, 2007 | 4:26 am [gui_moderator]
 |
C++ Tricks: Функция в функции
Никогда не жалел о том, что в свое время перешел с Паскаля на С++. Лишь двух вещей мне нехватало в С++: оператора with .. do и возможности определять локальные функции. К первому я привык, а вторую проблему оказалось возможным элегантно решить с помощю unnamed-структур. ( Как?Collapse ) | 2:22 am [gui_moderator]
 |
The Old New Thing
Позволю себе порекомендовать блог Раймонда Чена "The Old New Thing". Он посвящен не только GUI, однако вопросы программирования графического интерфейса пользователя для Windows подымаются в нем очень часто. Наслаждайтесь. И не забывайте делиться своими ссылками. | 12:55 am [gui_moderator]
 |
Launched!
Я был удивлен не найдя не только сообщества, посвященного программированию GUI, но даже достойного блога на данную тему. Решил заполнить пробел и создать gui_programming. Приглашаю всех делиться мыслями, статьями, обзорами и тем, что на Ваш взгляд, будет интересно для прочтения и полезно для профессионального роста. ( Правила сообществаCollapse ) |
|