Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Словить событие TStringGrid, поймать момент прокрутки 
:(
    Опции темы
Indeesa
Дата 22.9.2009, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 12.2.2009

Репутация: нет
Всего: нет



Приветствую всех!
Проблема такая: киньте стрингрид на форму, создайте записей 100, ткните на крайнюю видимую строчку снизу, - произойдёт автоматическое прокручивание. Вопрос в следующем, подскажите либо как отключить такую "фичу" стрингрида, либо отловить это событие(точнее момент после события).
Есть вариант решения, но может есть обходной путь, - просмотреть все сообщения посылаемые в оконную функцию стрингрида.

Добавлено через 13 минут и 29 секунд
Код

unit u_prob;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;

type
    mGrid = class( TStringGrid )
    end;
  TForm1 = class(TForm)
    Button2: TButton;

    procedure Button2Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
    SG : mGrid;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
var
    i : integer;
begin
    SG := mGrid.Create( nil );
    SG.Parent := self;
    SG.Height := SG.Height + 10;
    SG.RowCount := 100;
    For I := 1 to SG.RowCount - 1 do
        SG.Cells[ 1, I ] := Inttostr( Random( 100000 ) );
end;


end.


для наглядности
PM MAIL   Вверх
Indeesa
Дата 22.9.2009, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 12.2.2009

Репутация: нет
Всего: нет



сделал проверялку сообщений(она во вложении)
последовательность действий:
1. нажать верхний button1
2. нажать на последнюю строчку грида
произойдет прокрутка, сообщения оконной функции грида:
33    1 0 1 WM_MOUSEACTIVATE
45131 1 0 1 CM_MOUSEACTIVATE
32    1 0 1 WM_SETCURSOR
513   1 0 1 WM_LBUTTONDOWN
641   1 0 1 WM_IME_SETCONTEXT 
7     1 0 1 WM_SETFOCUS
45082 1 0 1 CM_ENTER 26
45063 1 0 1 CM_FOCUSCHANGED 7
45097 1 0 1 CM_UIACTIVATE 41
15    4 0 1 WM_PAINT
15    4 0 2 WM_PAINT
132   4 0 2 WM_NCHITTEST
275   4 0 2 WM_TIMER
15    4 1 3 WM_PAINT
132   4 1 3 WM_NCHITTEST
275   4 1 3 WM_TIMER
15    4 2 4 WM_PAINT
132   4 2 4 WM_NCHITTEST
514   4 2 4 WM_LBUTTONUP
первая цифра сообщение
вторая - Col
третья Selection.Bottom - Selection.Top
четвертая TopRow
"-" минус не вывожу все поля TMessage

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  proba.rar 3,81 Kb
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0400 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.