· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.WIN32 —› Плавная минимизация окна

<< . 1 . 2 .

Посл.отвђт Сообщенiе


Дата: Июн 19, 2003 13:26:52

P2M
Сделал установку цветов. Только работает как-то странно - когда вызываю

invoke SetBkColor,wParam,03200232h

То цвет устанавливается только для той части поля где есть текст. А как установить его для всего поля?


Дата: Июн 19, 2003 13:30:07

И еще вопрос: каким образом кодируются цвета? Что означает вот такая запись 03200232h? Сколько в ней каких цветов (R, G, B)?


Дата: Июн 20, 2003 02:23:10

А как установить его для всего поля?
.IF uMsg == WM_CTLCOLOREDIT
.IF lParam == hEdit
invoke SetTextColor,wParam,0BBGGRRh
invoke SetBkColor,wParam,200232h
mov eax,hBrush
ret
.ENDIF
.ENDIF

hBrush -- хендл кисти цвета вашего фона.


Дата: Июн 20, 2003 04:57:37

Gloomy
каким образом кодируются цвета? Что означает вот такая запись 03200232h?
Quantum уже подсказал, уточню
[code]
#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16 )))
[/code]
Т.е. - 0x00bbggrr - 00200232h:
R - 32h - младший байт в младшем слове
G - 02h - старший байт в младшем слове
B - 20h - младший байт в старшем слове

Однако у Вас установлено еще два младших бита в старшем байте старшего слова: 03000000h
[code]
#define PALETTEINDEX(i) ((COLORREF)(0x01000000 | (DWORD)(WORD)(i)))
#define PALETTERGB(r,g,b) (0x02000000 | RGB(r,g,b))
[/code]
Младший из них означает, что 00200232h - это не RGB, а 0232h - индекс в логической палитре, а старший означает, что система должна подобрать в логической палитре ближайший цвет к заданному, т.е. к 00200232h.
На какой из этих битов вперед среагирует SetBkColor/SetTextColor я не знаю.


Дата: Июн 20, 2003 14:14:00

Использовать SetProcessWorkingSetSize в данном случае очень плохая идея, т.к. ты без причины вмешиваешься в работу диспетчера настройки баланса. Какая разница сколько там твое окно жрет, это проблемы оси - пусть она их и решает. Уверяю теба, она сделает это намного лучше. Так что забей.


Дата: Июн 20, 2003 16:05:03

Four-F
Так что забей.
Не могу забить :( Мне просто ПОЗАРЕЗ НАДО сократить размер занимаемой памяти. Ну просто очень надо. Если бы можно было поручить это ОСИ, я бы так и сделал.
А в данном случае я просто не имею возможности кидаться памятью и раздавать ее по 3 Мб для какого-то окна, да еще к тому же и большую часть времени невидимого :(


Дата: Июн 20, 2003 21:48:49

Gloomy
IMHO прога твоя будет занимать место в основном на диске в swop файле, а не в оперативке.


Дата: Июн 20, 2003 23:10:29

Как это у вас окна жрут по мегу??? У меня на асме в самое большое приложение жрет 300 кило!

<< . 1 . 2 .


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.059