![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отрисовка GrushButton
Vinum © (2007-11-29 19:13:00)По нажатии на GrushButton1 (OnClick) я делаю form1.grushbutton1.visible:=false;
При следующем появлении этой кнопки по программе, она отрисовывается как-бы полунажатой, а не какой была изначально. Как это вылечить ???
homm (2007-11-30 21:13:00) [1]Сорри. Тест.
homm_ (2007-11-30 21:10:00) [2]> [10] Vladimir Kladov © (30.11.07 19:36)
> а мой хот фикс вы не видели?
Видел. В суть не вникал, к сожалению. Если работает, может здесь выложить.
procedure BitmapAntialias2X(SrcBitmap, DstBitmap: PBitmap);
...........
begin
if DstBitmap.DIBBits = nil then Exit; //+++
if SrcBitmap.DIBBits = nil then Exit; //+++
{$IFDEF USE_MMX}
...........
...........
procedure BlendBitmaps(var DestBitmap, FromBitmap, ToBitmap: PBitmap; Factor: Integer; ClipRect:TRect);
...........
begin
if DestBitmap.DIBBits = nil then Exit; //+++
if FromBitmap.DIBBits = nil then Exit; //+++
if ToBitmap.DIBBits = nil then Exit; //+++
if ClipRect.Left >= ClipRect.Right then Exit; //+++
if ClipRect.Top >= ClipRect.Bottom then Exit; //+++
{$IFDEF USE_MMX}
ЗЫ Чето меня форум не узнает. Неужто опять забанили. Вроде не за что.
Vladimir Kladov (2007-11-30 19:36:00) [3]2homm: а мой хот фикс вы не видели? (У меня не падало больше после добавки тех поправок, что я выслал).
Barloggg (2007-11-30 08:50:00) [4]проверь состояние AcceptChildren на пенелях. иногда они "гуляют".
homm (2007-11-30 07:11:00) [5]> [7] Vinum (29.11.07 23:22)
> ctrl+x с формы ctrl+v на панель
Вот так и размещать. все у тебя с первого раза не получается.
Vinum (2007-11-29 23:22:00) [6]Все сделал, все заработало, всем спасибо, но возник вопрос другой, немного не в тему :), напишу здесь
Как мне разместить на одной панели другие панели? А то они размещаются на форме, у меня както случайно получилось несколько панелей на панель засунуть, а сейчас никак не выходит, ctrl+x с формы ctrl+v на панель ничего не дает, панели лежат на форме
homm (2007-11-29 23:00:00) [7]> [5] Compiler © (29.11.07 22:56)
инвалидат не нужен при появлении. А такие сложности к чему?
grushbutton1.visible никуда не делось
Compiler (2007-11-29 22:56:00) [8]
//Появление
grushbutton1.Style:= grushbutton1.Style or WS_VISIBLE;
form.Invalidate;
//Скрытие
grushbutton1.Style:= grushbutton1.Style and not WS_VISIBLE;
form.Invalidate;
homm (2007-11-29 22:49:00) [9]А что, нет изменений?
Точно то сделал?
В процедуре WndProcGRush в конце обработчика события WM_SHOWWINDOW добавилась строка:
Data.fResultNeedUpdate := true;
Vinum (2007-11-29 22:45:00) [10]Invalidate не помогает
"Хотфикс" вписал в KOLGRushControls.pas
что надо сделать чтобы появились изменения в работе?
homm (2007-11-29 21:12:00) [11]ХотФикс:
function WndProcGRush(Ctl_: PGRushControl; var Msg: TMsg; var Rslt: Integer): Boolean;
………
WM_SHOWWINDOW:
begin
if Ctl_.Enabled then
TU := [tuDef]
else
TU := [tuDis];
Ctl_.CheckNeedUpdate(TU, Data.fNeedDib);
Data.fResultNeedUpdate := true;
end;
Vladimir Kladov (2007-11-29 20:57:00) [12]Invalidate?