0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 89
1

XP стиль и его использование в приложении

31.03.2011, 14:34. Показов 1606. Ответов 13
Метки нет (Все метки)

Вы наверно заметили, что кнопики и всё такое в Бейсике примерно выглядят как в Win98 , а как сделать , чтоб можно было использовать стиль XP? Есть несколько API но что то не получается использовать, может я что то не так делаю?? помогите
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2011, 14:34
Ответы с готовыми решениями:

Не меняется стиль в приложении
Такое дело... по наследству перешла парочка проектов(писались не мной) на visual studio 2010,...

Использование dll в приложении
Доброго времени суток! Уже пятый день бьюсь над тем, чтобы загрузить dll x64 в приложении x86. Суть...

Использование кириллицы в приложении
как перекодировать pascalABC для рускую клаву

Использование CSS, JS в приложении
У кого стоит Антивирус Касперского, тот увидит в папке с программой файлы CSS, JavaScript, которые...

13
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,749
31.03.2011, 14:55 2
читай про .manifest
0
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 89
31.03.2011, 15:47  [ТС] 3
что это такое и где можно прочитать?
0
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 89
31.03.2011, 17:49  [ТС] 4
вобще я нашёл API для этого , вот код:
Visual Basic
1
2
3
4
5
6
Declare Sub InitCommonControls Lib 'comctl32.dll' ()
 
Private Sub Form_Load()
    Call InitCommonControls
    ' ...
End Sub
потом или включаем,
Visual Basic
1
2
3
4
5
Declare Function ActivateWindowTheme Lib 'uxtheme' _
    Alias 'SetWindowTheme' ( _
    ByVal hWnd As Long, _
    Optional ByVal pszSubAppName As Long = 0, _
    Optional ByVal pszSubIdList As Long = 0) As Long
или выключаем,
Visual Basic
1
2
3
4
5
Declare Function DeactivateWindowTheme Lib 'uxtheme' _
         Alias 'SetWindowTheme' ( _ 
     ByVal hWnd As Long, _ 
     Optional ByRef pszSubAppName As String = ' ', _ 
     Optional ByRef pszSubIdList As String = ' ') As Long
Но что то всё равно не получается, просто ничего не происходит...
0
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,749
31.03.2011, 17:50 5
слушай, ты первый день в Интернете?
Поищи по этому форуму, поищи в Яндексе, в гугле и т.д.
Источников информации - море. Тема про манифест обсуждалась уже тысячу раз.
0
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 89
31.03.2011, 17:59  [ТС] 6
классно!!! получилось, всего нужнобыло скачать файл и всё!!! а ту апи, что я послал, мне дали на немецком сайте, вот же любят немцы всё длинным путём делать, кстате, простите за некоректное вырожение мыслей, просто русский уже забываю, одни немцы же кругом!!!
0
0 / 0 / 0
Регистрация: 18.02.2011
Сообщений: 60
01.04.2011, 10:14 7
Какой файл?
Делись ссылкой.
0
Мужик
01.04.2011, 11:41 8
просто файл .manifest
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<assemblyIdentity
    version='1.0.0.0'
    processorArchitecture='X86'
    name='EG.exe'
    type='win32'
/>
<description>EG</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type='win32'
            name='Microsoft.Windows.Common-Controls'
            version='6.0.0.0'
            processorArchitecture='X86'
            publicKeyToken='6595b64144ccf1df'
            language='*'
        />
    </dependentAssembly>
</dependency>
</assembly>
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 89
03.04.2011, 11:36  [ТС] 9
программеры,что делать, манифесть то идёт,я имею в виду до тех пор пока ты не сделал exe после этого программа запускается в обычном стиле VB
0
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,749
03.04.2011, 12:17 10
ну так распространяй прогу с .manifest файлом.
А еще его можно засунуть в файл ресурсов...
0
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 89
03.04.2011, 12:38  [ТС] 11
''ну так распространяй прогу с .manifest файлом.
А еще его можно засунуть в файл ресурсов...''

что на счёт рессурсов?? я читал в инете что так можно сделать, но честно говоря не знаю как, если у тебя нет настроения подробней расписать как это сделать, то пошли ссылку на инфо,
0
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,749
03.04.2011, 16:19 12
УЧИСЬ ИСПОЛЬЗОВАТЬ ЯНДЕКС!!!!!!!!!!!!

http://bbs.vbstreets.ru/viewtopic.php?t=2670&postdays= 0&postorder=asc&start=0
0
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 53
04.04.2011, 12:13 13
Кладёшь этот манифест как ресурс и присваиваешь ему ID 1
0
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 53
04.04.2011, 12:17 14
Несколько примеров помогут вам глубже понять применения манифеста. Пройдемся по всем кнопкам и присвоим им свойство FlatStyle.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub RecursivelyFormatForWinXP(control As Control)
   Dim x As Integer
   For x = 0 To control.Controls.Count - 1
      ' If the control derives from ButtonBase, 
      ' set its FlatStyle property to FlatStyle.System.
      If control.Controls(x).GetType().BaseType Is _
GetType(ButtonBase) Then
         CType(control.Controls(x), ButtonBase).FlatStyle = _
FlatStyle.System
      End If
      
      ' If the control holds other controls, iterate through them also.
      If control.Controls.Count > 0 Then
         RecursivelyFormatForWinXP(control.Controls(x))
      End If
   Next x
End Sub
После этого необходимо изменить код для обработчика события Load формы, чтобы проверить версию Windows XP и присутствие манифеста.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Form1_Load(sender As Object, e As System.EventArgs)
   ' Makes sure Windows XP is running and
   ' a .manifest file exists for the EXE.
   If Environment.OSVersion.Version.Major > 4 And _
Environment.OSVersion.Version.Minor > 0 And _
System.IO.File.Exists((Application.ExecutablePath + '.manifest')) Then
      ' Iterate through the controls.
      Dim x As Integer
      For x = 0 To (Me.Controls.Count) - 1
         ' If the control derives from ButtonBase,
         ' set its FlatStyle property to FlatStyle.System.
         If Me.Controls(x).GetType().BaseType Is _
GetType(ButtonBase) Then
            CType(Me.Controls(x), ButtonBase).FlatStyle = _
FlatStyle.System
         End If
         RecursivelyFormatForWinXP(Me.Controls(x))
      Next x
   End If
End Sub
При написании статьи использовались материалы с MSDN
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2011, 12:17
Помогаю со студенческими работами здесь

Использование нестандартных шрифтов в приложении
Вопрос знатокам. Необходимо сделать добавление выбора нестандартных шрифтов. Пример: на форму кидаю...

Использование пользовательских шрифтов в приложении
Всем привет! Как подгрузить шрифт из .ttf-файла, который не лежит в системной папке шрифтов?

Использование консольных команд в приложении
Всем привет!!! Вопрос такого плана. При использовании adb shell на компе команда logcat -b events...

Использование ADO в HTA-приложении
Здравствуйте! Мне нужно HTA-приложение, отображающее с помощью ADO данные из mdb-базы данных. Мой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru