Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Переделка BmpButton в masm32

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Прочее] >> Переделка BmpButton в masm32
Имя
Сообщение << Старые топики   Новые топики >>
Переделка BmpButton в masm32 - 2007-07-22 03:41:00.040000   
vtg

Сообщений: 118
Оценки: 0
Присоединился: 2007-05-19 03:47:20.353333
Пытаюсь переделать функцию BmpButton (masm32) так, чтобы при наведении курсора на кнопку менялась картинка и наоборот.
К процедуре кнопки добавил

.elseif uMsg == WM_MOUSEMOVE

mov eax,lParam
cwdemov ptX,eax
mov eax,lParam
rol eax,16
cwde
mov ptY,eax

invoke GetWindowRect,hWin,ADDR Rct

mov eax, Rct.right
mov edx, Rct.left
sub eax, edx
mov bWid, eax

mov eax, Rct.bottom
mov edx, Rct.top
sub eax, edx

mov edx,bWid
.if ptX<0 || ptX>edx || ptY<0 || ptY>eax ; <– Warning
mov btnflag,0
invoke ReleaseCapture
invoke GetWindowLong,hWin,0
mov hBmpU, eax
invoke GetWindowLong,hWin,8
mov hImage, eax
invoke SendMessage,hImage,STM_SETIMAGE,IMAGE_BITMAP,hBmpU
.elseif btnflag!=1
mov btnflag,1
invoke SetCapture,hWin
invoke GetWindowLong,hWin,4
mov hBmpD, eax
invoke GetWindowLong,hWin,8
mov hImage, eax
invoke SendMessage,hImage,STM_SETIMAGE,IMAGE_BITMAP,hBmpD
.endif

На одном из окон проги имеется SysListView32 c CHECKBOXES

invoke CreateWindowEx,
WS_EX_CLIENTEDGE,addr ListViewClass,
NULL,
WS_CHILD or WS_VISIBLE or LVS_REPORT or LVS_SHAREIMAGELISTS,
75,40,350,250,
hWnd,
NULL,
hInstance,
NULL
mov hList, eax
invoke SendMessage,hList,LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_CHECKBOXES
mov lvc.imask,LVCF_TEXT+LVCF_WIDTH
mov lvc.pszText,offset Heading1
mov lvc.lx,300
invoke SendMessage,hList,LVM_INSERTCOLUMN,0,addr lvc
mov lvs.imask,LVIF_TEXT or LVIF_STATE
mov lvs.state,8192
mov lvs.stateMask,LVIS_STATEIMAGEMASK

mov lvs.pszText,OFFSET CHECKBOXE1
mov lvs.iItem,0
invoke SendMessage,hList,LVM_INSERTITEM,0,ADDR lvs
.
.
.
mov lvs.pszText,OFFSET CHECKBOXEN
mov lvs.iItem,1
invoke SendMessage,hList,LVM_INSERTITEM,0,ADDR lvs

и моя кнопка.

Без кнопки всё нормально. При добавлении кнопки исчезают итемы в SysListView32.

Опыты показали, что проблема в строке
.if ptX<0 || ptX>edx || ptY<0 || ptY>eax ; <– Warning
Если, например, написать
.if ptX<0 || ptX>eax || ptY<0 || ptY>eax
то итемы появляются.

Что за хрень!
Есть идеи?

Других проблем с кнопкой нет.
Post #: 1
RE: Переделка BmpButton в masm32 - 2007-11-05 19:55:22.573333   
Necromancer13

Сообщений: 146
Оценки: 0
Присоединился: 2007-06-28 02:00:57.563333
Где-то видел похожую тему… Ищи в Нете, исходники ищи… я где-то видел исходник, в котором это было…
P.S. может в %masm32%\examples похожее есть?
Post #: 2
Страниц:  [1]
Все форумы >> [Прочее] >> Переделка BmpButton в masm32







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.