0D0A
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору andrewtishkin Цитата: Хм. Да, с шириной что-то интересное, и со стрелочкой (black/white). В QC бага этого случайно нету (раз он застарелый...)? Любопытно бы и на решение проблемы кода взглянуть Если это не секрет, конечно | С шириной вот так: Код: procedure TMenuItem.MeasureItem(ACanvas: TCanvas; var Width, Height: Integer); procedure MeasureVistaMenuItem; begin // Adjust size if separator if Caption = cLineCaption then begin GetThemePartSize(LTheme, Handle, MENU_POPUPSEPARATOR, 0, nil, TS_TRUE, LSize); GetThemeMargins(LTheme, Handle, MENU_POPUPSEPARATOR, 0, TMT_SIZINGMARGINS, nil, LMargins); Height := LSize.cy + LMargins.cyBottomHeight; // Inc(Width, LSize.cx); // теоритически правильно, но LSize.cx получается слишком большим (144) Inc(Width, 51); // криво, но получается наиболее приближено к реальности Exit; // дальше считается длинна заголовка, имхо лишнее для сепаратора end end; begin ... end; | Со стрелочкой еще не разбирался, недавно заметил. Оба бага отрепорчены на QC (77965, 72777). |