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

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

обработчик MouseToCall [D6]


john_mag ©   (2005-06-02 09:02:00) 

Доброе утро, всем! Кто сможет подсказать или показать... Я использую обработчик MouseToCall в StringGrid. Отправляются входящие данные 484 и 327. Говорится, что должны исходящие данные быть в виде номера столбца ACol и строки ARow, а она(процедура) выдаёт в индикаторе следующие результаты: 2000281672 и 1242664 соответственно - ? Спасибо всем за будущие советы.


john_mag   (2005-06-02 10:00:00) [1]

если P := ClientToScreen(Point(X,Y)); убрать, то что-то вроде работает, а иначе P := ClientToScreen(Point(X, - ')'expected but ',' found.


begin...end   (2005-06-02 09:36:00) [2]

> john_mag ©   (02.06.05 09:17) [5]

procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
 ACol, ARow: Integer;
 P: TPoint;
begin
 with (Sender as TStringGrid) do
 begin
   MouseToCell(X, Y, ACol, ARow);
   P := ClientToScreen(Point(X, Y))
 end;
 PopupMenu1.Popup(P.X, P.Y);
 StatusBar1.Panels[0].Text := Format('%d:%d', [ACol, ARow])
end


?


john_mag   (2005-06-02 09:31:00) [3]

думаешь результаты изменятся? входящие же правильны, а вот исходящие... а MouseToCall - ;( MouseToCell - ;)


iskatel   (2005-06-02 09:23:00) [4]

1 MouseToCall ты не ошибся? я видел там только MouseToCll ell
2 накой считать от формы, а потом еще и клиент ориджин добавлять? делай обработчик мыши не формы а грида


iskatel   (2005-06-02 09:23:00) [5]

блин, т.е. MouseToC ell


john_mag   (2005-06-02 09:17:00) [6]

procedure TForm5.FormMouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
var P: TPoint;
   x2,y2: Longint;
begin
 P:= GetClientOrigin;
 if Button = mbRight then
                      begin
                        MouseToCall(P.X+(X+6),P.Y+(Y+60),x2,y2);
                        PopupMenu1.Popup(P.X+(X+6),P.Y+(Y+60));
                        StatusBar1.Panels.Items[0].Text:=                                   IntToStr(x2)+':'+IntToStr(y2);
                      end;
end;

StringGrid1.ColWidths[0]:= 60;
StringGrid1.ColWidths[1] >= 300;
StringGrid1.ColWidths[2]:= 50;
StringGrid1.ColWidths[3]:= 70;


iskatel   (2005-06-02 09:15:00) [7]

2begin...end

если не попадает, то выдает -1


iskatel   (2005-06-02 09:14:00) [8]


> выдаёт в индикаторе


в каком индикаторе? похоже у тя ошибка при выводе в индикатор, проверь в дебаггере переменные сразу после ф-ции MouseToCell...


begin...end   (2005-06-02 09:07:00) [9]

В смысле, ширины (Width) и высоты (Height).


begin...end   (2005-06-02 09:06:00) [10]

Приведите полный код, а также значения длины и ширины StringGrid.


Наверх

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