Здравствуйте!
Столкнулся с такой проблемой, что на Win7-x64 не обновляется заголовок окна после вызова SetWindowText().
В 32-битной версии это работает, а при переводе на 64 бита неожиданный сюрприз.
При вызове функции окно не обновляется, но, если потом мышкой зайти на заголовок, он обновится и заданный текст проявится.
Если поставить схему "Классическая" в персонализации ОС, то поведение меняется:
текст меняется сразу, отрисовывается слева на синем фоне, а при заходе мышкой на заголовок - отрисовывается на черном фоне по центру.
Почему-то автокад не обновляет в 64-битной версии область заголовка.
Автокад 2010 версия D.309.0. русский version 3
пробовал все из этого набора, но не помогает:
__declspec( align( 32 ) ) wchar_t text[256] = L"showtest() - W";
HWND hwnd = adsw_acadMainWnd();
//SetWindowText(hwnd, "showtest()");
SetWindowTextW(hwnd, text);
//SetWindowPos(hwnd, HWND_BOTTOM, 0,0,0,0, SWP_NOMOVE|SWP_NOSIZE|SWP_DRAWFRAME|SWP_SHOWWINDOW|SWP_FRAMECHANGED ); //
RedrawWindow( hwnd, NULL, NULL, RDW_INVALIDATE | RDW_UPDATENOW | RDW_FRAME );
//SendMessage(adsw_acadMainWnd(), WM_SETFOCUS, 0, 0);
//SetWindowPos(hwnd, HWND_TOP, 0,0,0,0, SWP_NOMOVE|SWP_NOSIZE|SWP_DRAWFRAME|SWP_SHOWWINDOW|SWP_FRAMECHANGED );
return;
может, надо как-то по-другому обновлять заголовок окна автокада?
Идея менять имя чертежа не кажется удачной, потому что в конце работы оно будет в окне предложения сохранить изменения.
подходит вариант создать свое поле в статус-строке или подобной.
Требуется отображать строку длиной 50-200 символов постоянно.
если так проще, подскажите пример, где создается такое поле.
Спасибо.