Показать сообщение отдельно
Старый 23.06.2006, 17:58   #4  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
В 3.0, значит, поменяли.

Такое предложение - при вызове Caption() возвращать из него уникальное значение, которое сохранять так же в поле. В Run() после Super() искать окно по этому заголовку и менять его (заголовок)
Что-то типа этого
X++:
ClassDeclaration
str Cap;

public str caption(str _reportSpelling, str _reportName, str _designCaption, str _designName)
{
    ;
    cap = "Уникальное значение"
    return cap;
}

public void run()
{
    int     hWnd;
    #WinApi
    ;
    super();
    if (infolog.hWnd())
    {
        hWnd = winapi::getWindow(infolog.hWnd(), #GW_CHILD);
        if (hWnd)
            hWnd = winapi::getWindow(hWnd, #GW_CHILD);
        while (hWnd)
        {
            if (winapi::getWindowText(hWnd) == cap)
            {
                winapi::setWindowText(hWnd, "Новое название отчета");
                break;
            }
            hWnd = winapi::getWindow(hWnd, #GW_HWNDNEXT);
        }
    }
}
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: EVGL (3).