Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Давненько я багрепортов не слал :)


Страницы:   1 2

homm ©   (2007-05-27 13:13:00) 

Код практически из соседней ветки «выбор мышкой компонента».

Procedure OnMDn(Sender: PControl; var Mouse: TMouseEventData);
begin
 ShowQuestionEx('Атас!', 'OK/Cancel', nil);
end;

procedure TForm1.Button1Click(Sender: PObj);
var
 Panel: PControl;
begin
 Panel := NewPanel( Form1.Form, esRaised).PlaceDown;
 Panel.OnMouseDown := TOnMouse( MakeMethod( Panel, @OnMDn));
  Form.Width := Form.Width-1;
end;


Последовательность действий:
1) Нажимаем на Button1;
(Кстати, тут-же баг второй, насчет выделеной стороки. Без нее новый контрол не появляется на форме)
2) Нажимаем на вновь созданую панельку.
3) видим диалог, нажимаем ОК.
4) Повторяем 2)
5) А вот тут уже облом, повторить 3) не получиться, т.к. в ShowQuestionEx есть такие строчки:
   {$IFNDEF NO_CHECK_STAYONTOP}
   CurForm := Applet.ActiveControl;
   DoStayOnTop := CurForm.StayOnTop;
   {$ENDIF  NO_CHECK_STAYONTOP}


И что примечательно, при втором вызове ShowQuestionEx, Applet.ActiveControl = nil!

ЗЫ: Хотел поругаться на новый алигн. :) Вовремя заметил что дело не в нем, а в костыле, вставленном для старого :))))
ЗЗЫ: Насчет обновления KOLGrushcontrols. Если его еше никто не обновил (Владимир, MTsv DN), обновите пожалуйста, сами.
Еще раз повторю, что нужно сделать:
в функции DrawControlState
Было:
Bitmap := NewBitMap(W, H);
Стало:
if UseDIB then
  Bitmap := NewDIBBitMap(W, H, pf32bit);
else
  Bitmap := NewBitMap(W, H);


Было:
{$IFDEF NOT_IMMIDIATLYONLY}
   if UseDIB then  begin
       TBM := NewDIBBitmap(W, H, pf32bit);
       Bitmap.Draw(TBM.Canvas.Handle, 0, 0);
       Bitmap.Free;
       Bitmap := TBM;
   end;
   {$ENDIF NOT_IMMIDIATLYONLY}

Стало:
{ пусто }
:))


Vladimir Kladov   (2007-05-27 16:41:00) [21]

Я что-то не понял. А первый параметр - где? (вместо @Self который)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо