Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];

Вниз

Переключение курсора мыши   Найти похожие ветки 

 
Переяслов Григорий   (2002-12-23 15:25) [0]

Уважаемые мастера. У меня на форме лежит Chart, на нем строится диаграмма, которая должна скроллироваться по горизонтали. В обработчиках собыитй я пишу следующее:

procedure TFormSpectr.ChartMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
. . .
Chart.Cursor := crHandPoint;
end;


procedure TFormSpectr.ChartMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
. . .
Chart.Cursor := crDefault;
end;

Но в процессе "протаскивания" курсор мышки не меняется. В чем может быть проблемма?


 
TTCustomDelphiMaster   (2002-12-23 16:36) [1]

MouseDown и MouseUp события на нажатие кнопки мышки.
В object inspector установи
Chart.Cursor = crHandPoint;


 
Переяслов Григорий   (2002-12-23 16:57) [2]

Не подходит, курсор должен пеняться только на период нажатия кнопки мышки, например, при перетаскивании графика.


 
TTCustomDelphiMaster   (2002-12-23 18:40) [3]

Может такая штука подойдет?

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
P: TPoint;
Up: TMouseEvent;
begin
Button1.Cursor := crHandPoint;
Up := Button1.OnMouseUp;
Button1.OnMouseUp := nil;
Button1.Perform(WM_LBUTTONUP, 0, Longint(PointToSmallPoint(ScreenToClient(Point(X,Y)))));
Button1.OnMouseUp := Up;
end;

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Button1.Cursor := crDefault;
end;


 
Переяслов Григорий   (2002-12-24 11:10) [4]

Проблема на самом деле с TChart. Если я все эти обработчики вешаю, например, на панель, то все ОК. А если вешаю на TChart и при этом пытаюсь "протащить" график и при этом меняю курсор мыши, то он не меняется.


 
Переяслов Григорий   (2002-12-24 14:31) [5]

Еще точнее. Проблемы начинаются при разрешении скроллинга в TChart. Если скроллинга нет - все нормально.


 
Переяслов Григорий   (2002-12-25 11:25) [6]

Господа, кому интересно, посмотрите, как вопрос был решен:

procedure TFormSpectr.ChartMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
. . .
If Button = mbRight then begin
Chart.OriginalCursor := crHandPoint;
Chart.Cursor := crHandPoint;
Screen.Cursor := crHandPoint;
end;
end;


procedure TFormSpectr.ChartMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
If Button = mbRight then begin
Chart.OriginalCursor := crDefault;
Chart.Cursor := crDefault;
Screen.Cursor := crDefault;
end;
end;

Всем успехов !



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

Форум: "Основная";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.033 c
14-15246
AL2002
2002-12-16 12:28
2003.01.06
Что такое MySQL?


14-15292
kostet
2002-12-16 21:44
2003.01.06
хочу прочитать пароль в файле *.pwl


1-15145
WinSetup
2002-12-23 18:14
2003.01.06
МАСТЕРА! Как записывать и считывать из файла длинные строки?


1-15054
slyfox
2002-12-25 06:42
2003.01.06
Проблемка с ZReport


3-14921
Botcha
2002-12-13 17:10
2003.01.06
Delphi+ACCESS





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский