HTSpy (HitTester)

Тема в разделе "WASM.PROJECTS", создана пользователем kero, 6 июл 2007.

  1. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    (2008-06-05)
    Похоронил ноут, с ним последние исходники, HTSpy в том числе.
    Когда и буду ли восстанавливать - не знаю, поэтому выкладываю самое позднее из оставшегося: v.2008-02-29.

    ------
    (2008-07-17)
    После v.2008-02-29 дважды случались моменты просветления, когда код переписывался с нуля за один присест, так что v.2008-02-29 - всего лишь очень предварительный набросок утраченного. Но я вылез не со стенаниями по этому поводу, а потому как замечены досадные опечатки.

    В справке "HTSpy_080119" из аттача читаем:
    Однако в задизабленном окне HTSpy v.2008-02-29 - инфопанель не ресайзится.
    Правим:
    "WndProc.asm" -> ".elseif eax==WM_SETCURSOR" -> ".if ebx==WM_MOUSEMOVE" -> ".if edx==id-6 && esi==HTCLIENT" +
    "WndProc.asm" -> ".elseif eax==WM_SETCURSOR" -> ".elseif ebx==WM_LBUTTONDOWN" -> "if edx==id-6 && esi==HTCLIENT" =>
    выкидываем выделенное.

    Кроме того, в том же "WndProc.asm" обработка WM_PAINT впоследствии была переписана по Фень Юаню:
    Код (Text):
    1.   .elseif eax==WM_PAINT
    2.     .if wParam==0
    3.       invoke BeginPaint,hWnd,addr ps
    4.     .else
    5.       mov eax,wParam
    6.     .endif
    7.     mov ebx,eax
    8.     invoke SendDlgItemMessage,hWnd,id,BM_GETCHECK,0,0
    9.     invoke OnDraw,ebx,eax
    10.     invoke GetClientRect,hWnd,addr rt
    11.     invoke FrameRect,ebx,addr rt,hbrush
    12.     .if wParam==0
    13.       invoke EndPaint,hWnd,addr ps
    14.     .endif
    15.  
    16.   .elseif eax==WM_PRINTCLIENT
    17.     invoke SendMessage,hWnd,WM_PAINT,wParam,lParam
    Кроме того, в "HTLab.asm"
    Код (Text):
    1.   .elseif eax==WM_DESTROY  
    2.     invoke DestroyWindow,hWnd
    3.     xor eax,eax
    заменить на
    Код (Text):
    1.   .elseif eax==WM_CLOSE
    2.     invoke SetWindowPos,hWnd,HWND_BOTTOM,0,0,0,0,SWP_FRAMECHANGED
    3.     invoke DestroyWindow,hWnd
    4.     xor eax,eax
    ------
    (2009-04-02)
    + png
     
  2. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
  3. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    [ MSDN's puzzle about HTSYSMENU in "WM_NCHITTEST Notification" ]
    Просто картинка с аттачиком.
     
  4. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
  5. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    WndFromPt - это несколько контр-примеров в одном флаконе к MSDN-овским справкам о WindowFromPoint, RealChildWindowFromPoint, ChildWindowFromPointEx.
    В частности, демонстрируется недокументированная придурочная реакция RealChildWindowFromPoint на WS_EX_LAYOUTRTL, которую прозевал HTSpy
    (а ранее ParentOwner, но подметил ExtraSpy).

    Кроме того, WndFromPt предлагает для самопального Window Finder несколько надстроек над этими *WindowFromPoint*, а также отсутствующую API - "PtINindow".

    В окне WndFromPt и в его меню - подборка подопытных случаев.
     
  6. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
  7. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    [2009-06-14] - поправленный WndFromPt:
     
  8. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    +

    [​IMG]

    --------
    2011-04-27:
    В самом конце прошлого года поучаствовал в обсуждении на блоге Раймонда Чена его заметки
    WindowFromPoint, ChildWindowFromPoint, RealChildWindowFromPoint, when will it all end?,
    а позднее набросал расширение данного тестера, в порядке критики соответствующих статей MSDN:

    [​IMG]

    http://files.rsdn.ru/42164/windowfrompoint_review.zip.
     
  9. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    Последний (черновой) HTSpy (2009-09-24)/
    Хелп старый, обновлю позже, т.ч. пока см. исходники.
     
  10. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
  11. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва