Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

Изменение размеров   Найти похожие ветки 

 
P.N.P. ©   (2004-06-27 20:54) [0]

При посылке сообщения
SendMessage(MyComp.Handle,WM_SYSCOMMAND,SC_SIZE,0);
Компонент переходит в стандартный для Windows режим
изменения размера, однако для указания - какой
именно параметр (Width, Height) надо изменять необходимо
нажать на клавиатуре соответствующую клавишу со стрелкой.
В принципе это нормально, НО мне нужно, что бы пользователь
наведя курсор мыши на границу компонента
и нажав левую кнопку сразу же мог изменять размеры.

Я сейчас застрял на том, как же отправить сообщение о нажатии
соответствующей клавиши компоненту (или кому?), т.к.
сообщения о нажатии
(например keybd_event(VK_DOWN,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);
или SendMessage(MyComp.Handle,WM_KEYDOWN,VK_DOWN,0);)
обрабатываются после того, как компонент
выходит из режима изменения размера.

Подскажите пожалуйста, как быть в этом случае?


 
KilkennyCat ©   (2004-06-27 22:43) [1]

procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
var
pt : TPoint;
begin
   if ssCtrl in Shift then begin
   ReleaseCapture;
   SendMessage(Edit1.Handle, WM_SYSCOMMAND, $F012, 0);
   GetCursorPos(pt);
 end;
end;


Вот ежели перебрать вместо $F012 другие значения, то можно и размеры поменять, или превратить едит в каптион ($F020)


 
KilkennyCat ©   (2004-06-27 22:45) [2]

$F008 - изменение размеров


 
KilkennyCat ©   (2004-06-27 22:47) [3]

точнее

procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if ssCtrl in Shift then begin
  ReleaseCapture;
  SendMessage(Edit1.Handle, WM_SYSCOMMAND, $F008, 0);
 end;
end;


 
P.N.P. ©   (2004-06-27 23:16) [4]

Спасибо, то, что надо



Страницы: 1 вся ветка

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.089 c
8-1085033105
Elysium
2004-05-20 10:05
2004.08.08
Как проиграть WAV WMA MP3 MID MOD?


1-1090933083
KIR
2004-07-27 16:58
2004.08.08
Народ, как заптхивать/доставать картинки из dll


8-1085311364
ттт
2004-05-23 15:22
2004.08.08
Как в Дельфи работать с изображениями серой градации


4-1088449171
parovoZZ
2004-06-28 22:59
2004.08.08
OpenGL и WinApi


1-1090854565
Sergey Kaminski
2004-07-26 19:09
2004.08.08
Drag&Drop наоборот