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

Вниз

HTCAPTION   Найти похожие ветки 

 
Alpupil ©   (2004-05-02 21:37) [0]

Здрасте, у меня такая проблема я использую форму без заголовка (BorderSlyle=bsNone) и для того чтобы форму можно было перемещать перекрываю обработчик события tform1.WMNCHittest(var Messag:TWMNCHittest) в котором ставлю возвращаемое значение messag.result:= HTCAPTION. Проблема в том что контекстное меню (Popup) для формы и Hintы не работают. Подскажите пожалуйста как это можно исправить.
Я уже задавал этот вопрос (30.04.04 21:02)
Ответ №3
Dimaxx ©   (30.04.04 22:12) [3]
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
ReleaseCapture;
Perform(WM_SysCommand,$F012,0);
end;

Пример  не работает

Ответ № 2
Юрий Зотов ©   (30.04.04 21:09) [2]
Прежде, чем вернуть HTCAPTION проверяйте, нажата ли левая кнопка мыши. Если нет - ничего сами не возвращайте, а вызывайте inherited

а в этом случае я попытался проверить какая кнопка мыши нажата через procedure TForm1.FormMouseDown() и потом вызывал tform1.WMNCHittest(var Messag:TWMNCHittest) в зависимости от нажатой кнопки передавал переменную Messag:TWMNCHittest как htCaption или HTCLIENT но тоже непомогло. :(  
пример моего кода
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;  Shift: TShiftState; X, Y: Integer);
Begin  buttn:= button;  end;

procedure tform1.WMNCHittest(var Messag:TWMNCHittest);
begin   if buttn = mbleft then Messag.Result := htCaption else begin
    Messag.Result := htClient; inherited; end;
end;

Буду благодарен если кто подскажет или работающий пример


 
DVM ©   (2004-05-02 21:47) [1]


> Пример  не работает

Почему не работает? Работает. Специально проверил только что.


 
Alpupil ©   (2004-05-02 21:52) [2]

к сожалению у меня не пашет и в дополнение если это кому-то прояснит картину я использую сворачивание моей проги в трей, но наврятли :(


 
DVM ©   (2004-05-02 21:58) [3]

Погоди. У тебя может несколько разных обработчиков делают противоположные действия.
Начни с простого. Создай пустой проект - впиши код перетаскивания. Работает? Если да, ищем проблему у себя. Убери все обработчики WM_NCHITTEST и  прочие, которые могут повлиять на процесс перетаскивания.


 
Alpupil ©   (2004-05-02 22:06) [4]

Спасибо в новом проекте без WM_NCHITTEST но с использованием
ReleaseCapture;
Perform(WM_SysCommand,$F012,0);
все работает спасибо всем кто потратил свое время :-)



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

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

Наверх




Память: 0.47 MB
Время: 0.059 c
4-1080678131
i-s-v
2004-03-31 00:22
2004.05.16
Сообщения PopupMenu


7-1079092554
$tranger
2004-03-12 14:55
2004.05.16
Набор номера


1-1083227723
senya
2004-04-29 12:35
2004.05.16
PDF не понимает русский язык, выдает "иероглифы"


14-1082663248
Knight
2004-04-22 23:47
2004.05.16
Вот напридумыват рекламы...


3-1082535717
Марат
2004-04-21 12:21
2004.05.16
Разбивка текста