|
Вопрос # 413/ вопрос открыт / |
|
Шановне панство,есть некая програмка:значит форма borderstyle=bsNone,с помощью SetWindowRgn придаём ей нужную форму,в onPaint рисуется рамка по краю и вертикальный TitleBar,т.ж на форме лежит ТImage и по таймеру посредством copyrect на его canvas производится отрисовка(+ 3 буферных TImage).Всё работает,но минут (проверено неоднократно) через 5-6 вылетает окно "canvas does not allow drawing",и в левом верхнем углу монитора(!) остаётся белый след от формы,хотя она остаётся на том-же месте где и была (физически её никто не трогал,да и комп тоже), сбрасываем диспетчером задач.всё.При следующем запуске имеем тоже самое.Я понимаю,что сие есть какой-то конфликт по WM_PAINT,но никаких вариантов почему сие имеет место быть.Если закоментировать отрисовку в form.formpaint то всё идёт без срывов.Собственно там у меня всего(1) было.Перенёс и это дело в таймер - эфект тот-же.Сразу скажу что VerticalTitleBar работает в других программах нормально,да и удаление его ничего не меняет,оставлял один RoundRect - всеравно валится...HELP.
Приложение: Переключить в обычный режим- 1.============================
- Canvas.RoundRect(0,0,EQForm.clientWidth-1,EQForm.clientHeight-1,30,30);
- VerticalTitleBar(MY_TITLE_TEXT, 12);
-
 |
Вопрос задал: Роман (статус: 5-ый класс)
Вопрос отправлен: 16 марта 2007, 21:47
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 17 марта 2007, 19:39; участников в обсуждении: 2.
|
Роман (статус: 5-ый класс), 17 марта 2007, 19:39 [#2]:
Вcё заработало, как оказалось проблемма была в процедуре перетаскивания окна:
procedure TEQForm.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (Button = mbLeft) and XYIntoRect(x,y,tmpRect) then
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND, $F012, 0);
end;
end;
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|