Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите разобраться. / 8 сообщений из 8, страница 1 из 1
18.07.2004, 00:53
    #32609489
МаксимВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться.
Как понять первую строку - что означает (0U-700U) ? Мне ее нужно перевести на VB.
Код: plaintext
1.
#define TBN_FIRST               (0U-700U)       // toolbar
#define TBN_DROPDOWN            (TBN_FIRST -  10 )
...
Рейтинг: 0 / 0
19.07.2004, 07:48
    #32609785
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться.
Код: plaintext
0U-700U
из безнакового нуля вычли безнаковое 700.

Код: plaintext
TBN_FIRST -  10 
из дефайна TBN_FIRST вычли 10.

А зачем тебе? Просто юзай и не грей голову.
...
Рейтинг: 0 / 0
19.07.2004, 17:03
    #32611156
МаксимВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться.
Это в C++ берешь *.h файл и используешь.
Код: plaintext
#include "commctrl.h"
А в VB я все нужные мне константы из файла "commctrl.h" описываю заново:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
' ************************ Константы для comctl32.dll ************************
' * комманды функции и структура данных InitCommonControlsEx()
Public Type INITCOMMONCONTROLSEXTYPE
  dwSize As Long
  dwICC As Long
End Type
Public Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000

' ====== COMMON CONTROL STYLES (общие стили для элементов управления) ===============================
Public Const WM_USER  As Integer = &H400

Public Const CCS_TOP           As Long = &H1
Public Const CCS_NOMOVEY       As Long = &H2
Public Const CCS_BOTTOM        As Long = &H3
Public Const CCS_NORESIZE      As Long = &H4
Public Const CCS_NOPARENTALIGN As Long = &H8
Public Const CCS_ADJUSTABLE    As Long = &H20
Public Const CCS_NODIVIDER     As Long = &H40
Public Const CCS_VERT          As Long = &H80
Public Const CCS_LEFT          As Long = CCS_VERT Or CCS_TOP
Public Const CCS_RIGHT         As Long = CCS_VERT Or CCS_BOTTOM
Public Const CCS_NOMOVEX       As Long = CCS_VERT Or CCS_NOMOVEY
и т.д..... Может есть другой способ? Если знаете, то подскажите.



CEMb
Код: plaintext
0U-700U
из безнакового нуля вычли безнаковое 700.
Результат: 700 ?
Код: plaintext
TBN_FIRST -  10 
из дефайна TBN_FIRST вычли 10.
Результат: 690 ?
А зачем тебе? Просто юзай и не грей голову.
...
Рейтинг: 0 / 0
20.07.2004, 09:59
    #32611800
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться.
-700 и -710 соответственно.
...
Рейтинг: 0 / 0
20.07.2004, 11:54
    #32612118
МаксимВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться.
Спасибо за ответ.
Только не понятно, зачем использовать беззнаковые числа и что это за такие числа. А, что, нельзя была написатьпроще:
Код: plaintext
#define TBN_FIRST               (0U-700U)       // toolbar
или есть большая разница?
Это как в "Ералаше": "Я понимаю, что две параллельные прямые не пересекются. Но я не понимаю почему?!"
...
Рейтинг: 0 / 0
20.07.2004, 11:58
    #32612136
МаксимВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться.
Что-то у меня не то в сообщении. Опубликовалось не с первого раза(связь сегодня не важная), и первый вариант до корректировки получился. В предыдущем топике верно будет так:
Код: plaintext
#define TBN_FIRST               -700U       // toolbar
...
Рейтинг: 0 / 0
20.07.2004, 15:26
    #32612918
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться.
Вроде как нельзя. Иначе преобразуется в другой тип.

-700 она может воспринять, как знаковое целое.
А ей надо:
0хFFFFFD43
(некоторые константы идут в обратную сторону)
Не знаю, почему они именно так написали.
Скорее всего из-за того, что в разных системах на UINT может быть выделено разное число байт и
0U-700U
будет всегда одним и тем же, когда как
0хFFFFFD43
может быть разным

авторчто это за такие числа.
Это числа больше либо равные нулю.

Короче говоря, от того, как ты представишь число компилятору, будет зависить, что это у тебя такое получится.
...
Рейтинг: 0 / 0
24.07.2004, 16:54
    #32619982
МаксимВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться.
Спасибо.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите разобраться. / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]