Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];

Вниз

Приятный интерфейс на WinApi   Найти похожие ветки 

 
Nous Mellon   (2004-01-14 19:20) [0]

Доброго времени суток, форумчане!
Я разрабатываю программу используя только С++ и WinApi.
Отчасти из-за того что просто хочется лучше овладеть недавно изученным С,
а отчасти чтобы разобраться в тонкостях работы и реализации ОС.
На данный момент меня интересует как построить качественный интерфейс
на WinApi, вернее отчасти я в этом разобрался(спасибо Пэтзольду (и Думкину за то что его порекомендовал) :) и MSDN)
но созданный мною простой интерфейс не удовлетворяет так сказть эстетическим потребностям. :)
Стандартные элементы управления как то не смотрятся на фоне красот ВинХР. Поэтому хотелось бы узнать где можно почитать про реализацию ,более качественного интерфейса на WinApi. например у меня на окне присутствует ListBox. Как сделать ему рамку? Возможно ли поменять фоновый цвет?
В моей будущей программе будет довольно много настроек и интересно как более юзабельно оформить перемешение по этим настройкам.
Это должно быть как перемещение по закладкам, но думаю оформить в виде панели управления справа(Как в Алкоголе, Кэшмэне, Стайл ХП и многих других программах). Как к этому подступиться?
Или как изменить внешний вид кнопки? Возможно стоит реализовать с помощью банальных bmp, а может можно как-то оттолкнуться от стандартных кнопок?
Буду очень признателен если подкинете линк на литературу или исходник.


 
DVM   (2004-01-14 19:44) [1]


> Стандартные элементы управления как то не смотрятся на фоне
> красот ВинХР.

В XP все элементы управления те же самые. Красоту наводи сам.
Во-первых, попробуй подключить к своей программе манифест, благодаря которому элементы управления смогут приобрести стиль XP.
В WinApi почти все красивости рисуются ручками. Также можно использовать скины.

> Это должно быть как перемещение по закладкам, но думаю оформить
> в виде панели управления справа(Как в Алкоголе, Кэшмэне,
> Стайл ХП и многих других программах). Как к этому подступиться?

В новых CommonControls есть специальный элемент управления, по описанию похожий на то что надо. См. MSDN.

> Или как изменить внешний вид кнопки? Возможно стоит реализовать
> с помощью банальных bmp, а может можно как-то оттолкнуться
> от стандартных кнопок?

Можно и от стандартных, можно сделать и просто свое окно. Проще свое окно. И использовать эти самые банальные BMP.

> Буду очень признателен если подкинете линк на литературу
> или исходник.

msdn.microsoft.com Это не издевательство, это лучший источник сведений по WinApi.


 
Nous Mellon   (2004-01-14 19:49) [2]


> Во-первых, попробуй подключить к своей программе манифест,
> благодаря которому элементы управления смогут приобрести
> стиль XP.

Опять вопрос: манифест это стандартный элемент управления?
Если да пойду смотреть MSDN ежели нет то где почитать?
> В новых CommonControls есть специальный элемент управления,
> по описанию похожий на то что надо. См. MSDN.

Все уже открываю MSDN :)
> msdn.microsoft.com

Не надо. У меня свой :) На трех дисках, правда старенький и в нем наверное этой инфы нету. Релиз Jan2000.
> Это не издевательство

Это понятно


 
DVM   (2004-01-14 19:58) [3]


> Опять вопрос: манифест это стандартный элемент управления?
> Если да пойду смотреть MSDN ежели нет то где почитать?

Это файл XML написанный по определенным правилам. Валяется везде в инете, на этом сайте где то тоже был. Можно включить его в ресурсы проекта, а можно просто положить рядом с exe файлом, назвав также как сам exe. На MSDN инфа есть.


 
Игорь Шевченко   (2004-01-14 20:10) [4]

В MSDN примеры (на С, кстати) собственной отрисовки контролов ищутся по словам Custom Draw...


 
wl   (2004-01-14 21:27) [5]

а я бы посоветовал не мучаться с WinAPI, (чё уж тогда сразу не на ассемблере?) я двигаться вперед, скажем, изучать C#...
Это только моё IMHO, но всё говорит в пользу того, что за технологией .NET будущее ( например, оно встроено в будущую ОС Longhorn).


 
wl   (2004-01-14 21:27) [6]

а я бы посоветовал не мучаться с WinAPI, (чё уж тогда сразу не на ассемблере?) я двигаться вперед, скажем, изучать C#...
Это только моё IMHO, но всё говорит в пользу того, что за технологией .NET будущее ( например, оно встроено в будущую ОС Longhorn).


 
DrPass   (2004-01-14 21:40) [7]

Ага. Как с Java - посходили с ума, и благополучно забыли. А .NET - вообще ублюдок среди виртуалных машин


 
Vuk   (2004-01-14 21:52) [8]

to DrPass:
Хм... А в чем ублюдочность?


 
Mihey   (2004-01-14 23:10) [9]

Удалено модератором
Примечание: Offtopic


 
ИМХО   (2004-01-14 23:13) [10]

Хотим и размер маленький, и красоты XP. Мдя...


 
DVM   (2004-01-15 01:09) [11]

NET pridet, hotim mi etogo ili net, kak MS zahochet tak i budet. No NET vse ravno nadstroika nad novim WinApi, tak chto WinApi budet zit". Ni za chto ne poveru, chto MS zabrosit vsu etu svou filosofiyu, kotoruyu ona razvivala bolee 20 let.


 
DVM   (2004-01-15 01:12) [12]

NET pridet, hotim mi etogo ili net, kak MS zahochet tak i budet. No NET vse ravno nadstroika nad novim WinApi, tak chto WinApi budet zit". Ni za chto ne poveru, chto MS zabrosit vsu etu svou filosofiyu, kotoruyu ona razvivala bolee 20 let.


 
Думкин   (2004-01-15 06:29) [13]

Customizing a Control"s Appearance Using Custom Draw

Currently, the following controls support custom draw functionality:

Header controls
List-view controls
Rebar controls
Toolbar controls
ToolTip controls
Trackbar controls
Tree-view controls

Custom draw is implemented in version 4.70 and later of Comctl32.dll for all the controls previously listed. Custom draw is also supported for button controls if you are running Windows XP and have an application manifest to ensure that Comctl32.dll version 6 is available.


 
SPeller   (2004-01-15 10:18) [14]


> Думкин © (15.01.04 06:29) [13]

Че-то маловато... Можно ведь любой контрол вручную отрисовать. Жаль, что меню - это не контрол, а его тоже отрисовывать можно.


 
DVM   (2004-01-15 10:32) [15]

Еще TabControl отрисовать можно полностью самому. У меня есть опыт небольшой.


 
nikkie   (2004-01-15 13:08) [16]

кроме custom draw (для common controls) есть еще owner draw (для стандартных). но для XP-красивостей существует манифест. не забывайте также, что пользователь все красивости может отключить, поэтому если что-то "красивое" рисуете сами, то анализируйте включены ли "красивости" у пользователя. если цель, конечно, написать нормальную программу, а не в стиле винампа.


 
Nous Mellon   (2004-01-15 13:12) [17]


> а я бы посоветовал не мучаться с WinAPI, (чё уж тогда сразу
> не на ассемблере?)

ИМХО всегда пригодяться люди знающие как программировать на чистом WinApi,
а не только те кто умеет только кидать компоненты на форму в Делфи. Я ничего не имею против этого, ведь Делфи для этого и сделана мне просто жутко интересно что именно она делает за меня. По крайней мере эти знания не помешают. ИМХО.
> Я бы посоветовал застрелиться.

А может лучше думать что пишешь? Или тебе просто хочется наехать на давнего врага?

> Customizing a Control"s Appearance Using Custom Draw

Спасибо попробую применить.
> Хотим и размер маленький, и красоты XP. Мдя...

А что это по-твоему недостойное стремление? То есть ты считаешь эти два пункта не совметимыми? А может это просто потому что ТЫ не можешь их совместить?


 
Думкин   (2004-01-15 14:18) [18]

> [14] SPeller © (15.01.04 10:18)

Что есть - не я, МСДН сказала. Нарисовать можно, но все его сопровождение - самому писать надо. Я со скинами работал, реализации видел - жутко. Элементарно - сделай скроллируемое красивое - типа СкроллБох и хорошее.


 
wl   (2004-01-15 19:24) [19]

а кстати, новые версии контролов поддерживают Темы Виндовс, так что нужно разбираться с Manifest



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.041 c
9-16019
Arbin
2002-10-02 11:02
2004.02.06
Анализ текста - общение с компом


1-16314
Chlavik
2004-01-25 04:35
2004.02.06
Вот так вот WinXp.... PS_USERSTYLE


3-16074
Stas
2004-01-12 10:14
2004.02.06
Сортировка


1-16216
PSA
2004-01-27 09:28
2004.02.06
Ох уж этот StringGrid


1-16223
Крутыш
2004-01-26 18:24
2004.02.06
одна копия приложения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский