Форум: "Основная";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
ВнизСмена курсора Найти похожие ветки
← →
Муха (2006-10-16 03:48) [0]Вот ниже пример. Вопрос почему у формы курсор меняется сразу, а пайнтбокса нет? Это видно в заголовке формы. Как заставить TGraphicControl сменить курсор сразу? Пробовал:
PaintBox1.Perform(CM_CURSORCHANGED, 0, 0);
нет эфекта:(
var R: TRect;
procedure TForm1.FormCreate(Sender: TObject);
begin
R:=Rect(50, 50, 100, 100);
end;
procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if PtInRect(R, Point(X,Y)) then
Cursor := crHandPoint
else
Cursor := crDefault;
Caption := Format("X = %d - Y = %d",[X,Y]);
end;
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
PaintBox1.Canvas.Rectangle(R);
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.Rectangle(R);
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if PtInRect(R, Point(X,Y)) then
Cursor := crHandPoint
else
Cursor := crDefault;
Caption := Format("X = %d - Y = %d", [X,Y]);
end;
← →
Ketmar © (2006-10-16 03:57) [1]двинуть мышью. серьёзно.
← →
Муха (2006-10-16 03:59) [2]> [1] Ketmar © (16.10.06 03:57)
А что, больше никак нельзя? Почему так происходит ведь курсор у них от одного родителя.
← →
Муха (2006-10-16 04:00) [3]Т.е. обоим (TForm и TPaintBox) от TControl достался.
← →
Ketmar © (2006-10-16 04:01) [4]если я верно понял проблему (код лениво проверять) -- то именно двинуть мышкой. если неверно -- извиняюсь за "дезу". %-)
← →
RASkov (2006-10-16 04:03) [5]> [4] Ketmar © (16.10.06 04:01)
Так это понятно, что двинуть. Но нужно изменить сразу как только мышь вошла в прямоугольник на пайнте, у формы без проблем сразу меняется. А вот у паинта только если на граница+1:(
← →
ЮЮ © (2006-10-16 04:04) [6]
> Вопрос почему у формы курсор меняется сразу, а пайнтбокса
> нет?
Вопрос то в чем? Не меняется совсем? Или не сразу?
D7, WinXP - поведение одинаковое и най формой и над боксом
← →
RASkov (2006-10-16 04:07) [7]> [6] ЮЮ © (16.10.06 04:04)
>
> > Вопрос почему у формы курсор меняется сразу, а пайнтбокса
>
> > нет?
>
>
> Вопрос то в чем? Не меняется совсем? Или не сразу?
> D7, WinXP - поведение одинаковое и най формой и над боксом
У меня тоже D7 и WinXP
Не сразу меняется если мышой медленно двигать можно заметить. [5]
← →
Муха (2006-10-16 04:11) [8]Т.е. исходя из R:=Rect(50, 50, 100, 100);
у формы по X на значениях 50 и 99 по Y на значениях 50 и 99
У пайнта по X на значениях 49,51 и 98,100 ну и тоже по Y
← →
RASkov (2006-10-16 04:14) [9]Муха достала. Как ее убрать из DMClient"а?
← →
RASkov (2006-10-16 04:18) [10]Ну что, нельзя никак известить TGraphicControl об изменении курсора?
← →
Ketmar © (2006-10-16 04:19) [11]>[9] RASkov 16-Oct-2006, 04:14
>Муха достала. Как ее убрать из DMClient"а?
???
← →
RASkov (2006-10-16 04:20) [12]Под именем Муха я тему завел. Как она попала в поле имя в DMClient низнаю:)
Теперь в выподающем списке есть и по умолчанию ставиться как ее убрать от туда?
← →
RASkov (2006-10-16 04:21) [13]> [11] Ketmar © (16.10.06 04:19)
[12] а по вопросу есть что нибудь?
← →
ЮЮ © (2006-10-16 04:22) [14]Изменяй курсор не у формы, а у экрана: Screen.Cursor, тогда меняется одинаково
← →
RASkov (2006-10-16 04:23) [15]> [15] ЮЮ © (16.10.06 04:22)
Спасибо, помогло.
← →
RASkov (2006-10-16 04:40) [16]Сорри за офтоп.
А на [12] у кого есть ответ, а то раньше и не думал об имени нажимал сразу ответить, а теперь выбирать надо... Проклятая муха.
← →
Ketmar © (2006-10-16 05:08) [17]реестр? .ini? CDM? %-)
← →
RASkov (2006-10-16 11:07) [18]> [17] Ketmar © (16.10.06 05:08)
Не.. не CDM:)) ненравится консоль. Я нашел - в ini.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.038 c