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

Вниз

Создание диалогов   Найти похожие ветки 

 
Николай Быков   (2002-09-22 19:39) [0]

Расскажите: как можно делать диалоги такие же как и в WinXP/2000 и OfficeXP. Такие желтенькие которые там появляются иногда.


 
Shadow   (2002-09-22 21:01) [1]

Ручками, дорогой, ручками!

p.s. Поработай с Rect, что-бы красивые формочки делать


 
Rouse_   (2002-09-23 02:07) [2]

Сие зовется манифест

Сойздай файл XP.rc

Добавь в него следующий текст:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
name="Microsoft.Windows.ApplicationName"
processorArchitecture="x86"
version="1.0.0.0"
type="win32"/>
<description>ApplicationDescription</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>

Подключи к проекту File\Open = XP.rc

Все - все твои компоненты имеют стиль ХР (но только в самом ХР)


 
Николай Быков   (2002-09-23 13:12) [3]

Да я не это просил.
В ХР часто вылазиют из трэя всякие сообщения систем, иногда диалоги. В офисеХР часто вылазиют дмалоги и иногда сообщения такие. Манифест такое не делает. Это можно вызывать компонентом( только не знаю каким), но я хочу без компонента (может АПИ есть?). Если это от манифеста зависит, то почему этоже можно увидить в Win 98/ME/2000/XP ?


 
Николай Быков   (2002-09-23 13:14) [4]

Я имел ввиду. Как вызвать такой дилог.
Ведь для вызова Messagedlg вы не рисуете форму rect"oм и показываете ее модалом. Вы просто вызываете соотв функцию
и все


 
Rouse_   (2002-09-24 00:31) [5]

Это стандартный THint, поиши в факе на тему изменения хинта, API наколько я знаю прямого вызова таких диалогов нет


 
cypher   (2002-09-24 00:56) [6]

Shell_NotifyIcon
см. структуру NOTIFYICONDATA на www.msdn.microsoft.com
или поищи че-нить про Balloon Hint на гугле


 
cypher   (2002-09-24 00:57) [7]

http://www.mvps.org/vbnet/code/subclass/shellnotifyballoontip.ht вот тут пример вроде есть, на бейсике правда... =)
но ведь настоящим программистам это не помеха?! =)


 
kex86   (2002-09-24 01:40) [8]

>Rouse_
Я попробовал манифест-не работает. Нельзя ли по-подробнее


 
Monstrische   (2002-09-24 12:17) [9]

Rouse_
И я пробовал и тоже не работает :( А очень хочется.


 
Rouse_   (2002-09-25 23:24) [10]

Вот полная статья:
Если ты программируешь на Делфи и юзаешь последние «Окошки», то
должен был заметить одну неприятную вешь: В Windows XP программы,
сделанные на Delphi не поддерживают визуальные стили. Обидно, но
поправимо ?. Дело в том, что все переделанные елементы, которые
отображаются в новом стиле, находятся в отдельной библиотеке
ComCtl32.dll версии 6.0. (Если ты судорожно бросился искать этот
файл, чтобы заменить им 5-ую версию в Windows 98, то остановись. ComCtl32.dll версии 6.0 работает только в Windows XP!)

Как же получается, что одни программы отображаются в новом стиле,
а другие нет? Разработчики Windows XP для отображения приложений в
старом стиле оставили версию 5.0, а для новых стилей добавили версию
6.0. Для того, чтобы новые программы корректно работали под
предыдушими ОС в них по прежнему делается ссылка на старую версию библиотеки, а для новой ОС в ресурсах программы делается указатель
на возможность поддержки новой версии библиотеки.

Вот наша задачка уже и прояснилась, необходимо просто напросто
дополнительно запихнуть в программу этот ресурс и дело в шляпе.? Что
же нам надо туда запихнуть?

А вот что (эдакий xml код):

Код приведен выше

Примечание:
Вместо ApplicationName укажите название программы

Вместо ApplicationDescription – описание программы

Для тех, кто не знает как помешаются ресурсы в программу -
приведу пример.

1.Сохраните приведенный выше код в файл (например manifest.txt).

2.Создайте файл такого содержания: 1 24 [путь до
файла]/manifest.txt и сохраните его в папку ../Program
Files/Delphi/Bin/ с именем: resfile.rc

3.Запустите файл: ../Program Files/Delphi/Bin/brcc32.exe
resfile.rc

4.В папке ../Program Files/Delphi/Bin/ появится файл с названием
resfile.res – этот файл необходимо прописать в разделе implementation вашего приложения.

Вот так выглядела наша программа до встраивания манифеста:


Далее идут две картинки


Для тех, кто не знает как помешаются ресурсы в программу -
приведу пример.

1.Сохраните приведенный выше код в файл (например manifest.txt).

2.Создайте файл такого содержания: 1 24 [путь до
файла]/manifest.txt и сохраните его в папку ../Program
Files/Delphi/Bin/ с именем: resfile.rc

3.Запустите файл: ../Program Files/Delphi/Bin/brcc32.exe
resfile.rc

4.В папке ../Program Files/Delphi/Bin/ появится файл с названием
resfile.res – этот файл необходимо прописать в разделе implementation вашего приложения.

Вот так выглядела наша программа до встраивания манифеста:


А
это она же, только после усовершенствования:


Сразу же оговорюсь! Колонки компонента TListView – это
THeaderControl. Дело в том, что «родные» колонки компонента выдают
ошибку при наведении на них курсора мыши. В чем причина этой ошибки
я выяснить не смог, но замечу, что у меня Delphi6 PE. Как ведуд себя
программы, сделанные в других версиях Delphi – я не знаю.

Автор статьи Константин Тарабрин aka Delphir [delphir@times.lv]

Как видите, автор не я, а ссылка не сохранилась, приходится давать что есть

(оговорюсь это я нашел на http://www.cydsoft.com/vr-online/about.htm)



 
Rouse_   (2002-09-25 23:37) [11]

Надеюсь я помог, если что-то не получается вопросы в эту-же конфу, по возможности постараюсь ответить, но сразуже оговорюсь, я лично ни в одной моей программе не испрользую манифест так как это слишком коряво выглядит (с моей точки зрения (хотя красиво, не спрорю))



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

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

Наверх





Память: 0.48 MB
Время: 0.007 c
4-21318
VV_Saint
2002-08-20 16:33
2002.10.07
Как переключить задачу с сохранением видеорежима ?


3-20918
АндрейС
2002-09-17 10:15
2002.10.07
Delphi и ORACLE


3-20924
DDDD
2002-09-17 15:59
2002.10.07
Перекресные запросы в Delphi


1-21132
zzet
2002-09-25 21:23
2002.10.07
Как в строковую переменную вставить символ ?


3-20913
Лена
2002-09-17 14:22
2002.10.07
Помогите! Ошибка Invalid index descriptor.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский