Стиль WinXP

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Стиль WinXP

Сообщение xqz_me » 05.12.2005 (Пн) 21:44

Решил добавить в программу элементы управления в стиле виндоуз хp. Элементы добавились и неплохо работают, только при попытке выйти приложение подвисает секунд на 5, и выдаёт ошибку
The instruction at "0x014e1855" referenced memory at "0x00000033". The memory could not be "written".
И хочет послать отчёт, содержащий
AppName: app.exe AppVer: 1.0.0.0 ModName: comctl32.dll
ModVer: 6.0.2900.2180 Offset: 000262fb
Как с этой гадостью бороться?

З.Ы. Делал, как написано здесь http://support.microsoft.com/default.as ... -us;309366

Vladimir!
Обычный пользователь
Обычный пользователь
 
Сообщения: 88
Зарегистрирован: 19.09.2005 (Пн) 21:47
Откуда: Пермь

Сообщение Vladimir! » 05.12.2005 (Пн) 22:56

Вопрос избитый. Обычно здесь на всех наезжают по этому поводу. И на тебя наедут. И Скажут поооисккк!!!
А если серьезно, то прицепи к проекту вот этот модуль.
Код: Выделить всё
'создай новый модуль и
'поставь Sub Main как стартовый объект
Public Type TagInitCommonControlsEx
   dwSize As Long
   dwICC As Long
End Type
Public Declare Function InitCommonControlsEx Lib "comctl32.dll" (ICCEx As TagInitCommonControlsEx) As Long
Public Const ICC_USEREX_CLASSES As Long = &H200
Public Const ICC_WIN95_CLASSES = &HFF

Sub Main()
    Dim ICCEx As TagInitCommonControlsEx
    ICCEx.dwICC = ICC_USEREX_CLASSES
    ICCEx.dwSize = LenB(ICCEx)
    InitCommonControlsEx ICCEx
    'вместо frmSplash напиши имя загружаемой формы
    Load frmSplash
    frmSplash.Show
End Sub

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 05.12.2005 (Пн) 23:09

Спасибо, конечно, но не помогло. :(

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Re: Стиль WinXP

Сообщение Alexanbar » 05.12.2005 (Пн) 23:24

xqz_me писал(а):Решил добавить в программу элементы управления в стиле виндоуз хp.


А как добавил и откуда взял, если это от Microsoft?

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 06.12.2005 (Вт) 0:29

Ну как? Слово в слово как по ссылке на писано, так и сделал. Файл mainfest сам создал.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 06.12.2005 (Вт) 1:02

По моему проекту сделай свой.
Вложения
VB_XPStyle.rar
(1.93 Кб) Скачиваний: 33
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 06.12.2005 (Вт) 13:32

Всё равно ошибку выдаёт. Но висеть перестал. :(

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 06.12.2005 (Вт) 14:12

Вот, это с www.vbrussian.com.
Всё в ctl.

xqz_me
Постоялец
Постоялец
 
Сообщения: 413
Зарегистрирован: 04.12.2005 (Вс) 14:58

Сообщение xqz_me » 06.12.2005 (Вт) 14:22

Изменяюсь за ламерский вопрос, но что с ними делать? И нужно ли их потом с прогой поставлять?

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 06.12.2005 (Вт) 14:30

Щас пример сделаю.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 06.12.2005 (Вт) 14:45

xqz_me писал(а):Изменяюсь за ламерский вопрос, но что с ними делать? И нужно ли их потом с прогой поставлять?


Проект->Добавить управление пользователя.
И добавляешь на форму.


А файлы *.frm, *.bas, *.cls, *.vbp ты тоже с программой поставляешь?


Вот пример:
Вложения
StyleXP.rar
StyleXP
(32.77 Кб) Скачиваний: 22

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 06.12.2005 (Вт) 16:17

Вообще-то все написанное тут к стилям XP отношения почти не имеет.
В основном это попытки реализовать окошко смахивающее на один из стилей XP. Но это совсем не то.

Правильное решение - с использованием манифеста - см. пример в приложеном архиве. Из IDE стили не работают - только при выполнении EXE-файла.
Вложения
StyleXP.rar
(4.74 Кб) Скачиваний: 20
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 06.12.2005 (Вт) 16:25

2 xqz_me

Если мой код не работает, значит ничей работать не будет. Проблема у тебя с Windows.


2 Andrey Fedorov

И чем твой пример отличается от моего?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 06.12.2005 (Вт) 16:42

BV писал(а):2 xqz_me

Если мой код не работает, значит ничей работать не будет. Проблема у тебя с Windows.


Может он пытается выполнять только из IDE?

2 Andrey Fedorov

BV писал(а):И чем твой пример отличается от моего?


Твой я не пробовал :lol:
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 198

    TopList